@Override public void applyChanges() { getPanel(); for (OptionsProvider p : provider) { p.store(); } changed = false; }
@Override public void update() { getPanel(); for (OptionsProvider p : provider) { p.load(); } changed = false; }
@Override public boolean isValid() { getPanel(); for (OptionsProvider p : provider) { if (p.valid() == false) { return false; } } return true; }
private JPanel getPanel() { if (panel == null) { panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); provider = Lookup.getDefault().lookupAll(OptionsProvider.class); for (OptionsProvider p : provider) { JComponent comp = p.getComponent(this); panel.add(comp); comp.setAlignmentX(Component.LEFT_ALIGNMENT); comp.setAlignmentY(Component.TOP_ALIGNMENT); } panel.add(Box.createVerticalGlue()); } return panel; }