我想让Dialog中的组件不可编辑,可是将Dialog设成Enable后,Dialog右上角的关闭Dialog的"X"也不能用了.请问如何能把组件设成不可编辑又能关闭该Dialog?

解决方案 »

  1.   

    public void setEnabled(boolean b)
    用这个方法禁用每个组件得了
      

  2.   

    放在这个Dialog里的组件有50多个,就是因为不想每个都禁用所以才想禁用整个Dialog的!
      

  3.   

    用一个Vector把需要enabled的组件加入,然后遍历Vector来控制,目前没发现更好的方法
      

  4.   

    public void setChildrenEnable(Container container, boolean enable)
    {
    Component[] c = container.getComponents();
    for (int i = 0; i < c.length; i++) {
    if (c[i] instanceof Container) {
    setChildrenEnable((Container)c[i], enable);
    }
    c[i].setEnabled(enable);
    }
    }
    ----------
    setChildrenEnable(dialog, false);
      

  5.   

    你直接将最下面的那个Jpanel setEnabled(false)就可以了
    比如:
    ....
    JPanel p = new JPanel();
    //向p中添加50个组件
    p.add(c1);
    p.add(c2);
    .
    .
    .
    p.add(c50);
    ...
    p.setEnabled(false);
    ........