0

我的项目中有一个名为tasktable. 它从数据库(oracle)中检索数据。如何更改单元格中具有颜色的行的颜色 ex。(i,8) 当我点击刷新按钮时自动?

我已经尝试了很多次将该源代码放在特定行上,但它最终为所有表格着色:

          int count;      
          count = tasktable.getRowCount();
         for (int i=0;i<count;i++)
            { 
                  rr = new Object ();
                   rr = tasktable.getModel().getValueAt(i,8);
                   if(rr.equals("GREEN"))
                   {
                 setBackground(Color.GREEN);
                   }
                    if(rr.equals("red"))
                   {
                       setBackground(Color.red);
                   }
                     if(rr.equals("BLUE"))
                   {
                      setBackground(Color.BLUE);
                   }
                      if(rr.equals("yellow"))
                   {
                     setBackground(Color.yellow);
                   }
                       if(rr.equals("pink"))
                   {
                     setBackground(Color.pink);
                   }
                       if(rr.equals(null))
                   {
                     setBackground(null);
                   }

如何帮助我解决这个问题?

4

4 回答 4

2

将自定义TableCellRenderer添加到您的表中。

于 2012-07-16T15:58:17.183 回答
1

setBackground()设置 的背景颜色,而JTable不是每行或单元格的背景颜色。TableCellRenderer正如@Recursed 所说,您需要一个。

于 2012-07-16T15:58:54.453 回答
1

如果您所做的只是更改行颜色,请将您的子类JTable化并覆盖该prepareRenderer方法:

public Component prepareRenderer(TableCellRenderer renderer,
                             int row,
                             int column) {    
     Component c = super.prepareRenderer(renderer, row, column);
     if (row == HIGHLIGHT_ROW) {
          c.setBackground(BG_COLOR); 
     }
     return c;
}
于 2012-07-16T16:03:07.587 回答
0
 Component comp = super.getTableCellRendererComponent(
                  table,  value, isSelected, hasFocus, row, col);

 String s =  table.getModel().getValueAt(row, VALIDATION_COLUMN ).toString();
 comp.setForeground(Color.red);

http://www.java-forums.org/awt-swing/541-how-change-color-jtable-row-having-particular-value.html

于 2012-07-16T16:00:13.143 回答