【发布时间】:2013-02-10 20:58:35
【问题描述】:
我一直在寻找解决这个问题的方法,但如果不问我自己的问题,我无法从各个地方找出如何让我的桌子做彩色行的头或尾。
从我看过的每一个地方,我都需要使用单元格渲染器,但问题是我不知道如何将它应用到我自己的情况。
所以我有一个包含 3 列的简单 JTable,我只是希望每一行根据单独变量的值(未显示在表中)以绿色、黄色或红色突出显示。
看起来应该很简单,但我不知道该怎么做。如果有帮助,我的表定义如下:
studentTableModel = new DefaultTableModel(new Object[]{"Name", "StudentNo", "Part"}, 0);
jt_studentTable = new JTable(studentTableModel);
jt_studentTable.getColumnModel().getColumn(2).setPreferredWidth(10);
studentTableModel.addRow(new Object[]{"(empty)", "(empty)", "(empty)"});
JScrollPane jsp_tableScroller = new JScrollPane(jt_studentTable);
jsp_tableScroller.setPreferredSize(new Dimension(200,190));
middleCentrePanel.add(jsp_tableScroller);
表格中的行会根据组合框的选择而变化。
提前致谢。
【问题讨论】:
-
这个answer 可以帮助你渲染你的细胞。
-
Che,感谢您链接到的答案 - 除了它只突出显示它正在检查的单元格。你知道我会如何突出整行吗?
-
删除我使用的条件,只使用
if(row == 0) { use Color.Green; } else { use Color.Yellow; }之类的替代条件。这将用单一颜色高亮整行。但是使用约束来检查行应该如何着色。
标签: java swing jtable cellrenderer