XQE*_*EWR 4 java swing components jpanel
在我的JPanel中,我有许多组件,包括其他JPanel,JLabel,JTextAreas和JButtons.因为我想实现一个教程模式,其中出现另一个窗口,我的主JPanel中的所有内容都被禁用,因为新窗口逐个解释每个'功能'...我想要知道如何禁用我内部的所有组件原始JPanel.我知道你可以用:
component.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
但我不想为我的JPanel中的每个组件编写它.我想知道是否可以使用for循环或其他东西禁用JPanel中的所有组件?
注意:嵌套的JPanel中也有组件,就像顺序一样
主要JPanel --->嵌套JPanel --->组件
我也希望最终组件也被禁用......
谢谢!所有帮助表示赞赏!
我使用了以下功能:
void setPanelEnabled(JPanel panel, Boolean isEnabled) {
panel.setEnabled(isEnabled);
Component[] components = panel.getComponents();
for (Component component : components) {
if (component instanceof JPanel) {
setPanelEnabled((JPanel) component, isEnabled);
}
component.setEnabled(isEnabled);
}
}
Run Code Online (Sandbox Code Playgroud)