关于颜色色的设置,我在表格中有一列类型关键字,如果关键字为1,则本行数据红色显示,2蓝色显示,3绿色显示等。能否针对某一列也采用不同的颜色。数据保存到文件:我想把表中数据保存到文件中,如何实现。给出代码例子好吗。多谢大家!!!!

解决方案 »

  1.   

    首先,自己实现一个 TableCellRenderer。这个 TableCellRenderer 中,会根据具体值返回表现的组件,并设置颜色。
    然后将表的该列设置成该 TableCellRenderer 。可以参考How to Use Tables
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
      

  2.   


    覆写DefaultTableCellRenderer 的getTableCellRendererComponent方法如下:class TableRenderer extends DefaultTableCellRenderer {
            public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected, boolean hasFocus, int row,
                    int column) {
                System.out.println(value);
                if (value.equals("1")) {
                    super.setBackground(Color.RED);
                    super.getTableCellRendererComponent(table, value, isSelected,
                            hasFocus, row, column);
                } else if (value.equals("2")) {
                    super.setBackground(Color.BLUE);
                    super.getTableCellRendererComponent(table, value, isSelected,
                            hasFocus, row, column);
                } else {
                    super.setBackground(Color.GREEN);
                    super.getTableCellRendererComponent(table, value, isSelected,
                            hasFocus, row, column);
                }
                return this;
            }    }
    再调用如下:
    table.setDefaultRenderer(Object.class, new TableRenderer());