Java Swing: Enabling/Disabling all components in JPanel

前端 未结 4 1323
醉梦人生
醉梦人生 2020-12-09 21:40

I have a JPanel which contains a JToolbar (including few buttons without text) and a JTable and I need to enable/disable (make internal widgets not clickable). I tried this:

4条回答
  •  隐瞒了意图╮
    2020-12-09 22:19

    I used the following function:

    void setPanelEnabled(JPanel panel, Boolean isEnabled) {
        panel.setEnabled(isEnabled);
    
        Component[] components = panel.getComponents();
    
        for(int i = 0; i < components.length; i++) {
            if(components[i].getClass().getName() == "javax.swing.JPanel") {
                setPanelEnabled((JPanel) components[i], isEnabled);
            }
    
            components[i].setEnabled(isEnabled);
        }
    }
    

提交回复
热议问题