1 package jimm.datavision.gui.parameter; 2 import jimm.datavision.Parameter; 3 import java.util.Iterator ; 4 import javax.swing.*; 5 6 13 class ListStringInq extends Inquisitor { 14 15 protected JList list; 16 17 ListStringInq(Parameter param, boolean allowMultipleSelection) { 18 super(param); 19 20 Box box = Box.createVerticalBox(); 22 23 DefaultListModel model = new DefaultListModel(); 24 list = new JList(model); 25 list.setSelectionMode(allowMultipleSelection 26 ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION 27 : ListSelectionModel.SINGLE_SELECTION); 28 box.add(list); 29 30 panel.add(box); 31 32 for (Iterator iter = parameter.defaultValues(); iter.hasNext(); ) 34 model.addElement(iter.next()); 35 36 if (!allowMultipleSelection) 37 list.setSelectedIndex(0); } 39 40 void copyGUIIntoParam() { 41 int[] is = list.getSelectedIndices(); 42 parameter.removeValues(); 43 for (int i = 0; i < is.length; ++i) 44 parameter.setValue(i, parameter.getDefaultValue(is[i])); 45 } 46 47 void copyParamIntoGUI() { 48 list.clearSelection(); 49 boolean first = true; 50 for (Iterator iter = parameter.values(); iter.hasNext(); ) { 51 list.setSelectedValue(iter.next(), first); first = false; 53 } 54 } 55 56 } 57 | Popular Tags |