Java 在Swing的模型表中以红色显示数据
如何在Swing中以红色显示模型表中的数据 表数据是正确的。若结果为“通过”,那个么它应该显示为绿色,而结果为“失败”,那个么在swing中的模型表中同样应该显示为红色Java 在Swing的模型表中以红色显示数据,java,swing,jtable,Java,Swing,Jtable,如何在Swing中以红色显示模型表中的数据 表数据是正确的。若结果为“通过”,那个么它应该显示为绿色,而结果为“失败”,那个么在swing中的模型表中同样应该显示为红色 if (newResultSet.isEmpty() != true) { // System.out.println("final calculated summary records size : "+newResultSet.size()); for (int indx = 0;
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);
}
if(newResultSet.isEmpty()!=true){
//System.out.println(“最终计算的汇总记录大小:+newResultSet.size());
对于(int indx=0;indx
我希望在ModelTable中以红色和绿色行显示结果。在表格的第4列创建一个CellRenderer。结果对象被传递到其方法中,在该方法中,您可以检查结果,并将标签或面板背景更改为绿色或红色 您的模型对象应该是ABstractTableModel类的实现 渲染器的外观应如下所示:
public class ColorRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(
JTable table, Object color,
boolean isSelected, boolean hasFocus,
int row, int column) {
if(table.getValueAt(row, 4).equals("fail")) {
setBackground(Color.RED);
}else {
setBackground(Color.GREEN)
}
return this;
}
}
您需要将此渲染器添加到表中的所有列。在表中的第4列创建一个CellRenderer。结果对象被传递到其方法中,在该方法中,您可以检查结果,并将标签或面板背景更改为绿色或红色 您的模型对象应该是ABstractTableModel类的实现 渲染器的外观应如下所示:
public class ColorRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(
JTable table, Object color,
boolean isSelected, boolean hasFocus,
int row, int column) {
if(table.getValueAt(row, 4).equals("fail")) {
setBackground(Color.RED);
}else {
setBackground(Color.GREEN)
}
return this;
}
}
您需要将此渲染器添加到表中的所有列。为了影响
JTable
中任何单元格的状态,您需要提供一个自定义TableCellRenderer
有关更多详细信息,请参阅
现在。要简单地突出显示一行,需要做大量的工作
相反,您最好看一看提供了行高亮显示的内容
对于为了影响
JTable
中任何单元格的状态,您需要提供一个自定义的TableCellRenderer
有关更多详细信息,请参阅
现在。要简单地突出显示一行,需要做大量的工作
相反,您最好看一看提供了行高亮显示的内容
为了
若结果为“通过”,则应显示为绿色,而结果为“失败”,则应显示为红色
请参阅,以获取一个示例,该示例允许您根据其中一列中的值将整行渲染为特定颜色。这种方法不需要创建自定义渲染器
若结果为“通过”,则应显示为绿色,而结果为“失败”,则应显示为红色
请参阅,以获取一个示例,该示例允许您根据其中一列中的值将整行渲染为特定颜色。此方法在不创建自定义渲染器的情况下工作。要更快获得更好的帮助,请发布一个。此模型对象在哪里?代码的开头不完整为了更快地获得更好的帮助,请发布一个。此模型对象在哪里?代码的开头不完整“您的模型对象应该是ABstractTableModel类的实现”。。。为什么?好吧,在这种情况下不太必要。是的,您可以将cellrenderer添加到表中,而无需定义其自己的模型。但是它很好,“您的模型对象应该是ABstractTableModel类的实现”。。。为什么?好吧,在这种情况下不太必要。是的,您可以将cellrenderer添加到表中,而无需定义其自己的模型。但是很好。