((DefaultTableCellRenderer)myTable.getCellRenderer(0,   0)).setBackground(Color.pink);我在程序里写了这句话,但是没有效果.myTable是加上了DefaultTableCellRenderer了的.怎样使0,0这个单元格变为粉色?

解决方案 »

  1.   


    1 requirementTable.setDefaultRenderer(Object.class,
    new RowColorRenderer());

    // 实现table颜色变化
    class RowColorRenderer extends DefaultTableCellRenderer {
    private static final long serialVersionUID = 1319952460366169862L; public Component getTableCellRendererComponent(JTable t, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    Component com = super.getTableCellRendererComponent(t, value,
    isSelected, hasFocus, row, column);
    setHorizontalAlignment(JLabel.CENTER);
    if (column == 0) {
    VisioTableMode vtm = (VisioTableMode) t.getModel();
    SuiteTab stab = (SuiteTab) vtm.getValueAt(row);
    if (isSelectSuiteTabFillFull(stab)) {
    setBackground(Color.GREEN);
    } else {
    setBackground(Color.WHITE);
    }
    } else {
    setBackground(Color.WHITE);
    }
    return com;
    }
    }
    我就不针对你的问题了...只是告诉你 看到 那两个变量  row 和 column么?  自己根据需要去设置吧 这个是项目代码块,你看一下应该很容易明白中间干了什么..
      

  2.   

    我需要的是rowNum和columnRow是用鼠标选择的cell的rowNum,columnRow
      

  3.   

    lz是不是要达到 被选中的单元格背景=PINK?table.setSelectionBackground(Color.PINK)不知是不是这个
      

  4.   

    ((DefaultTableCellRenderer)table.getCellRenderer(0, 0)).setBackground(Color.pink);
    ((DefaultTableCellRenderer)table.getCellRenderer(0, 0)).setOpaque(true);
    这样试试
      

  5.   

    http://edu.codepub.com/2009/0910/15267.php
    看看这个,也是处理鼠标单元格变颜色的。