java AbstractTableModel 2 Different Color For Each Row

前端 未结 3 814
傲寒
傲寒 2020-12-07 00:04

I want to increase readability of my jtable , here is MyTableModel.java class below , how to make each row with 2 different color shown in this picture . What should be t

3条回答
  •  一整个雨季
    2020-12-07 00:53

    See this Table Row Rendering made by Camick. It'll solve your problem.

    You can use his method createAlternating for rendering the colors of the row.

      private JComponent createAlternating(DefaultTableModel model)
      {
        JTable table = new JTable( model )
        {
            public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
            {
                Component c = super.prepareRenderer(renderer, row, column);
    
                //  Alternate row color
    
                if (!isRowSelected(row))
                    c.setBackground(row % 2 == 0 ? getBackground() : Color.LIGHT_GRAY);
    
                return c;
            }
        };
    
        table.setPreferredScrollableViewportSize(table.getPreferredSize());
        table.changeSelection(0, 0, false, false);
        return new JScrollPane( table );
    }
    

提交回复
热议问题