How do I recursively disable my components in Swin

2019-07-01 13:24发布

问题:

How do I recursively disable all of my components in a JPanel?

回答1:

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

Be aware that the previous enabled/disabled state of each component will be lost, unless you keep track of it somewhere else.