我有一个JTable,我想在表格中选择一行时,它会变成蓝色,并在行周围标记绿色边框。 我能够将颜色变成蓝色,但不能在行周围标出绿色边框。 我附上了一张照片 - 这就应该是它。
提前致谢 编辑后: 我添加到我的代码中:
JTable jTable1 = new JTable( model )
{
// Returning the Class of each column will allow different
// renderers to be used based on Class
public Class getColumnClass(int column)
{
return columns[column];
}
@Override
public boolean isCellEditable(int row, int column) {
//all cells false
return false;
}
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
Component c = super.prepareRenderer(renderer, row, col);
JComponent jc = (JComponent)c;
if (isRowSelected(row)){
int top = (row > 0 && isRowSelected(row-1))?1:2;
int left = col == 0?2:0;
int bottom = (row < getRowCount()-1 && isRowSelected(row + 1))?1:2;
int right = col == getColumnCount()-1?2:0;
jc.setBorder(BorderFactory.createMatteBorder(top, left, bottom, right, new Color(210,236,204)));
jc.setForeground(new Color(164, 164, 172));
}
else{
jc.setBorder(null);
}
int selCol = -2;
int selRow = jTable1.getSelectedRow();
if ( selCol != -1 && selRow != -1 ){
if ( row == selRow || col == selCol){
c.setBackground(new Color(249,250,254));
}else
c.setBackground(Color.WHITE);
}
return c;
}
};
我几乎得到了我想要的东西,但如果仔细观察每个细胞之间缺失的颜色。 我该怎么办?
这就是我现在所拥有的