package org.netbeans.gradle.project.util;
import javax.swing.AbstractButton;
import javax.swing.JComponent;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.jtrim.utils.ExceptionHelper;
public final class NbGuiUtils {
public static void enableBasedOnCheck(
final AbstractButton check,
final boolean enableValue,
JComponent... components) {
ExceptionHelper.checkNotNullArgument(check, "check");
final JComponent[] componentsSnapshot = components.clone();
ExceptionHelper.checkNotNullElements(componentsSnapshot, "components");
ChangeListener changeListener = new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
boolean enable = check.isSelected() == enableValue;
for (JComponent component: componentsSnapshot) {
component.setEnabled(enable);
}
}
};
changeListener.stateChanged(new ChangeEvent(check));
check.getModel().addChangeListener(changeListener);
}
private NbGuiUtils() {
throw new AssertionError();
}
}