解决方案 »

  1.   

    重写方法DefaultTableCellRenderer dtc = new DefaultTableCellRenderer() {
                @Override
                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    //                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); //To change body of generated methods, choose Tools | Templates.
                    Component component = super.getTableCellRendererComponent(table, value,
                            isSelected, hasFocus, row, column);
                    int[] a = {1, 3};
                            if (row == 3) {
                                setBackground(Color.GRAY); //设置奇数行底色
                    } else {
                        setBackground(Color.WHITE);
                    }
                    return component;
                }
            };
            table.setDefaultRenderer(Object.class, dtc);
      

  2.   

    使用渲染器JTableRender,根据模型obj性别返回不同背景色(serForeColor方法设置)的组件
      

  3.   

    已经说明性别,所以我们知道行列号后可以直接从 table.getModel() 中拿到这行的“性别” 一列的值,再来决定颜色。