如何在Swing的模型表中以红色显示数据?
表数据正确。如果结果通过,则应以绿色显示并且结果失败,则模型表中的结果应为红色
if (newResultSet.isEmpty() != true) {
// System.out.println("final calculated summary records size : "+newResultSet.size());
for (int indx = 0; indx < newResultSet.size(); indx++) {
Resultset rs = (Resultset) newResultSet.get(indx);
Object[] row = new Object[6];
row[0] = rs.getTestCaseNumber();
row[1] = rs.getTestExecution();
row[2] = rs.getTestCasePass();
row[3] = rs.getTestCaseFail();
row[4] = rs.getTestResult();
row[5] = rs.getTestCaseDateTime();
//System.out.println(row[0].toString()+" "+row[2].toString()+" "+row[3].toString());
model.addRow(row);
}
} else {
JOptionPane.showMessageDialog(null, "NO DATA IS AVAILABLE TO DISPLAY", "Empty Message", JOptionPane.ERROR_MESSAGE);
}
}
public void createAndShowGUI() {
JFrame frame = new JFrame("Execution Report Table");
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
summarizeData();
final JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane);
setOpaque(true); //content panes must be opaque
frame.setLayout(new GridLayout(1, 0));
frame.pack();
frame.setVisible(true);
}
我想在ModelTable中的红色和绿色行中显示结果。
最佳答案
为了影响JTable
中任何单元的状态,您需要提供自定义的TableCellRenderer
。
有关更多详细信息,请参见how to use tables。
现在。简单地突出显示一行需要做很多工作。
相反,您最好看一下JXTable from SwingX,它可以突出显示行
对于example