在Jtable的行中设置颜色

时间:2012-03-21 13:19:23

标签: java swing jtable pipeline tablecellrenderer

我需要帮助。

我有两张桌子。 enter image description here

在指令表中,必须根据管道阶段中正在执行的指令突出显示每一行。例如,在时间t10,I5处于IS阶段,因此必须突出显示指令表中的I5或指令表中行的颜色必须改变。其中,I5行为红色,I6行为彩色粉红色, I7为绿色,I8为灰色,I9为橙色。

我真的需要你的专长。谢谢.. :)

1 个答案:

答案 0 :(得分:3)

请使用自定义渲染尝试此操作,这将轻松解决您的问题

JTable myTable = new JTable();
// You can specify the columns you need to do the required action
myTable.getColumnModel().getColumn(0).setCellRenderer(new MyRenderer());

public class MyRenderer extends DefaultTableCellRenderer {

    // This is a overridden function which gets executed for each action to
    /// your Jtable
    public Component getTableCellRendererComponent (JTable table, 
        Object obj, boolean isSelected, boolean hasFocus, int row, int column) {

       // Use this row, column to change color for the row you need, e.g.
        if (isSelected) { // Cell selected
           cell.setBackground(Color.green);
        }
    }
} 

注意:此渲染器不仅可用于进行颜色突出显示,请参阅custom Jtable rendering。为了响应队列计时更改,您可以在单独的线程中安排它。