有一个JTree,每个节点前有一个JCheckBox,他有一个根节点,下面有两个子节点,当我只选中其中一个子节点时,那么这时也会选中父节点,但父节点的JCheckBox会变一下颜色。

解决方案 »

  1.   

    觉得打钩不能抒发感情吗?非要做的话,研究一下MVC
      

  2.   

    试试我这个JCheckBox吧 public class CJCheckBox extends JCheckBox
    implements ItemListener{

    public CJCheckBox(String s){
    super(s);
    addItemListener(this);
    }

    public void paintComponent(Graphics g){
    super.paintComponent(g);
    if(isSelected()){
    g.setXORMode(this.getBackground());
    g.setColor(Color.blue);
    int x=16,y=3;
    g.fillRect(x,y,getWidth()-x-8,getHeight()-y*2-1);
    }
    } public void itemStateChanged(ItemEvent e) {
    repaint();
    } }
      

  3.   

    to  kypfos(政治面貌:一世清白) :也不行呀。
      

  4.   

    怎么会要JCheckBox改变颜色呢?打狗不可以啊?我觉得搞得那么华丽没有什么意思!呵呵
    我也不会。帮你
    UP
      

  5.   

    赞成 kypfos(政治面貌:一世清白)不过变色的坐标范围好象没取好,改成:int x=21,y=3;
    g.fillRect(x,y,getWidth()-x-3,getHeight()-y*2-1);如果想光是打钩的框框变色的话:g.fillRect(5,7,10,12);<------ 树欲静而风不止 ------>