Java 如何递归禁用Swing中的组件?

Java 如何递归禁用Swing中的组件?,java,swing,recursion,jpanel,jcomponent,Java,Swing,Recursion,Jpanel,Jcomponent,如何递归禁用JPanel中的所有组件 void setEnabled(Component component, boolean enabled) { component.setEnabled(enabled); if (component instanceof Container) { for (Component child : ((Container) component).getComponents()) { setEnabled(c

如何递归禁用JPanel中的所有组件

void setEnabled(Component component, boolean enabled) {
    component.setEnabled(enabled);
    if (component instanceof Container) {
        for (Component child : ((Container) component).getComponents()) {
            setEnabled(child, enabled);
        }
    }
}

请注意,每个组件以前的启用/禁用状态将丢失,除非您在其他地方跟踪它。

这是一个很好的函数(在相对意义上,因为我们仍然使用instanceof…)。我不知道,但这里有一个更正。