我想讓JTable自動判斷
在JTable第五個column中,只要有欄位的值大於10,就將那個欄位的整行row背景變成黃色。 
並且在select任一row之後,該row背景再變成紅色。
請問要用什麼方法作呢?謝謝!  

解决方案 »

  1.   

    自己写一个TableCellRenderer。
    然后将第5列的tableCellRenderer设置成TestTableCellRenderer。
    class TestTableCellRenderer extends DefaultTableCellRenderer{    /* (non-Javadoc)
         * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
         */
        public Component getTableCellRendererComponent(JTable table,
                Object value,
                boolean isSelected,
                boolean hasFocus,
                int row,
                int column) {
           JLabel label = (JLabel)super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
           
           //欄位的值大於10,如果大于10,變成黃色
           //如果isSelected,變成紅色       return label;
        }}
      

  2.   

    直接设置table的默认render就可以了。