【问题标题】:Color specefic cells from jTable using CellRenderer使用 CellRenderer 从 jTable 中指定颜色的单元格
【发布时间】:2013-09-29 17:42:05
【问题描述】:

我想同时为 jtable 中的特定单元格着色

例如,column = 1row i+2 的单元格(i 从 0 到 5)。

我成功地使用CustomTableCellRenderer 为特定单元格着色,如示例所示

public class CustomTableCellRenderer extends DefaultTableCellRenderer 
{  
   int x;
   int y;

    CustomTableCellRenderer(int x,int y){ //constructor

        this.x= x;
        this.y=y;
    }   

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,boolean hasFocus, int row, int column) 
    {
        Component cell = super.getTableCellRendererComponent
           (table, value, isSelected, hasFocus, row, column);

        if ( ((row == x) && (column == y))) { //test of equivalence of x and y as parameter
                cell.setBackground(Color.green);
            }

            else {
                cell.setBackground(Color.WHITE);
            }
        return cell;
    }
}

【问题讨论】:

  • Unnnghghhh 代码格式。 抽搐
  • 你见过this。也许它接近你所需要的。
  • 我不太明白,我需要一个工作代码,谢谢
  • 请问什么是问题,哪里是问题,以获得更好的帮助,尽快发布SSCCE,简短,可运行,可使用 JTable 的硬编码值进行编译,并明确说明您的目标

标签: java swing jtable


【解决方案1】:
Try this

table.setDefaultRenderer(Object.class, new TableCellRenderer(){
            private DefaultTableCellRenderer DEFAULT_RENDERER =  new DefaultTableCellRenderer();
            private Component comp;

            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                Component c = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
                if(isSelected){

                    c.setBackground(Color.YELLOW);
                }else{
                if (row%2 == 0){
                    c.setBackground(Color.WHITE);

                }
                else {
                    c.setBackground(Color.LIGHT_GRAY);
                }     }

                return c;
            }

        });

【讨论】:

    猜你喜欢
    • 2012-10-03
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2011-08-14
    • 2015-11-29
    • 2011-10-02
    • 2011-08-06
    相关资源
    最近更新 更多