相关疑难解决方法(0)

如何正确使用自定义渲染器绘制JTable中的特定单元格?

我的GUI中有一个JTable组件,它显示psuedocode了一个算法.我想通过更改特定单元格的背景然后更改下面的单元格等来突出显示当前的执行行.

现在我的代码改变了JTable中所有单元格的背景,如下图所示:

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());我的构造函数.

我认为:

  • 在每个String类型的表格单元格上调用此方法.
  • 这只会改变位置(0,0)处单元格的颜色

如何修复我的代码,以便只有单元格(0,0)被着色?

java swing jtable

5
推荐指数
3
解决办法
3830
查看次数

标签 统计

java ×1

jtable ×1

swing ×1