【发布时间】:2013-03-14 12:28:01
【问题描述】:
我有一个从值数组填充的 Jtable。 我的代码是这样的:
private static final String[] columnNames = {"Line Number", "Error","Fix Proposed","Percentage (%)"};
static DefaultTableModel model = new DefaultTableModel(null,columnNames);
public static void DisplayMyJList(List<CaptureErrors> x,String extension,
ArrayList<Integer> l,ArrayList<Integer> p,
ArrayList<String> e,ArrayList<String> s) throws IOException {//Method to Dynamic get values to be populated in Jtable.
String theExtension = extension;
if(FILE_EXTENSION.equals("java")) {
for(CaptureErrors ex: x) {
Vector row = new Vector();
row.add(ex.getLinenumber());
row.add(ex.getMyfounderror());
row.add(ex.getMycorrection());
row.add(ex.getMyPercentage()+"%");
model.addRow( row );
//model.setRowColour(1, Color.YELLOW);
}
}
table = new JTable(model);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setFillsViewportHeight(true);
table.setShowGrid(true);
table.setShowVerticalLines(true);
table.setGridColor(new Color(0,128,0));
JTableHeader header = table.getTableHeader();
table.setBackground(new Color(255,228,225));
table.setEnabled(true);
header.setFont(new Font("Dialog", Font.CENTER_BASELINE, 12));
header.setBackground(Color.black);
header.setForeground(Color.yellow);
JScrollPane pane4 = new JScrollPane(table);
我可以使用 JButton 从值数组中填充 Jtable。 我想要一个条件,如果列“百分比”,获取该列中的所有值 >30,它会将行突出显示为 color.red。
我不想使用 TableCellRendererComponent 。我希望在单击 Jbutton 时执行此操作。
实际的 Jtable 如下所示:
然后根据我想要得到的,前2行应该用红色突出显示。任何帮助表示赞赏。
【问题讨论】:
-
您的表将所有数据视为字符串。您确实应该重写
getColumnClass()方法以返回正确的类,以便可以正确格式化每一列。
标签: java swing jtable tablecellrenderer