我的GUI中有一个JTable组件,它显示psuedocode
了一个算法.我想通过更改特定单元格的背景然后更改下面的单元格等来突出显示当前的执行行.
现在我的代码改变了JTable中所有单元格的背景,如下图所示:
我用来存档这个当前状态的代码如下:
class CustomRenderer extends DefaultTableCellRenderer
{
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
JLabel d = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if((row == 0) && (column == 0))
d.setBackground(new java.awt.Color(255, 72, 72));
return d;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我调用jTable2.setDefaultRenderer(String.class, new CustomRenderer());
我的构造函数.
我认为:
如何修复我的代码,以便只有单元格(0,0)被着色?
我想更改特定表头的背景颜色.在我的应用中,我必须在当前月份设置标题颜色为红色.
我的代码在这里::
jTable1.getTableHeader().
setDefaultRenderer(
new DefaultTableHeaderCellRenderer());
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
JTableHeader tableHeader = table.getTableHeader();
if(column==1)
tableHeader.setBackground(Color.red);
return this;
}
Run Code Online (Sandbox Code Playgroud)
这使得所有标题颜色都是红色的.请给我一些建议.提前致谢.