如何在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

07-24 19:01
查看更多