public PrefOptionList(PrefMonitor<String> pref, StringGetter labelStr, PrefOption[] options) { this.pref = pref; this.labelStr = labelStr; label = new JLabel(labelStr.get() + " "); combo = new JComboBox(); for (PrefOption opt : options) { combo.addItem(opt); } combo.addActionListener(this); pref.addPropertyChangeListener(this); selectOption(pref.get()); }
public void propertyChange(PropertyChangeEvent event) { if (pref.isSource(event)) { selectOption(pref.get()); } }
public void actionPerformed(ActionEvent e) { PrefOption x = (PrefOption) combo.getSelectedItem(); pref.set((String) x.getValue()); }