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

sda*_*das 3 java recursion swing jcomponent jpanel

如何以递归方式禁用JPanel中的所有组件?

VGR*_*VGR 7

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

请注意,除非您在其他位置跟踪它,否则每个组件的先前启用/禁用状态都将丢失.