【发布时间】:2012-03-25 08:18:45
【问题描述】:
我的 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;
}
}
然后我在构造函数中调用jTable2.setDefaultRenderer(String.class, new CustomRenderer());。
我假设:
- 对每个字符串类型的表格单元格调用此方法。
- 这只会改变位置 (0,0) 处单元格的颜色
如何修复我的代码以使只有单元格 (0,0) 着色?
【问题讨论】:
-
您发布的代码有什么问题?有用吗?
-
它可以编译,但是当我只想将第一个单元格涂成红色时,它会将所有 10 个单元格涂成红色。
-
+1 将您的“大”问题分解为较小部分的好主意 :-)