实现一个功能,把Jtable的某一行disable掉(不能编辑,灰色显示),里面的数据可以看见,希望各位能给出例子代码,谢谢,问题解决立即给分

解决方案 »

  1.   

    先处理不能编辑问题,只要JTable重载isCellEditable(int row, int column)就可以了。
    至于显示灰色,你为该行的所有单元格定制一个绘制器就可以了,你可以继承缺省的TableCellRenderer,然后设置背景色和前景色。
      

  2.   

    楼上的答案素正解,就用TableCellRenderer可以实现
      

  3.   

    四楼正解。TableColumnModel columnModel = table.getColumnModel();
    TableColumn stateColumn = columnModel.getColumn(0);
    stateColumn.setCellRenderer(new ComCellRenderer() );
    class ComCellRenderer extends JPanel implements TableCellRenderer{
      JLabel label;
      public comCellRenderer() {
        label = new JLabel();
        add(label);
      }  public Component getTableCellRendererComponent(JTable table, Object value,
                                                     boolean isSelected,
                                                     boolean hasFocus,
                                                     int row, int column) {
        String strValue = value==null ? "" : value.toString();
        label.setText(strValue);
        setBackground(new Color(233,233,233)); 
        return this;
      }
    }