package comeon.ui.preferences;
import comeon.ui.UI;
import org.netbeans.validation.api.ui.ValidationGroup;
import javax.swing.*;
public abstract class SubPanel<M> extends JPanel {
private static final long serialVersionUID = 1L;
protected static final int COLUMNS = 40;
private final GroupLayout layout;
protected SubPanel() {
layout = new GroupLayout(this);
layout.setAutoCreateContainerGaps(true);
layout.setAutoCreateGaps(true);
this.setLayout(layout);
}
protected final void layoutComponents() {
this.doLayoutComponents(layout);
}
protected abstract void doLayoutComponents(final GroupLayout layout);
public final void attach(final ValidationGroup validationGroup) {
this.doAttach(validationGroup);
}
protected abstract void doAttach(final ValidationGroup validationGroup);
protected static final class AssociatedLabel extends JLabel {
private static final long serialVersionUID = 1L;
public AssociatedLabel(final String key, final JComponent component) {
super(UI.BUNDLE.getString(key));
this.setLabelFor(component);
}
}
}