1 19 20 package org.apache.cayenne.dataview; 21 22 import javax.swing.ComboBoxModel ; 23 24 import org.apache.cayenne.DataObject; 25 26 32 public class DOComboBoxModel extends DOListModel implements ComboBoxModel { 33 34 protected DataObject selectedObject; 35 36 public DOComboBoxModel() { 37 } 38 39 public void setSelectedDataObject(DataObject dataObject) { 40 if ((selectedObject != null && !selectedObject.equals(dataObject)) 41 || selectedObject == null 42 && dataObject != null) { 43 selectedObject = dataObject; 44 fireContentsChanged(this, -1, -1); 45 } 46 } 47 48 public DataObject getSelectedDataObject() { 49 return selectedObject; 50 } 51 52 public void setSelectedItem(Object selectedValue) { 53 if (viewField == null) { 54 if (selectedValue instanceof DataObject) 55 setSelectedDataObject((DataObject) selectedValue); 56 else 57 setSelectedDataObject(null); 58 } 59 else { 60 LookupCache cache = viewField.getOwner().getOwner().getLookupCache(); 61 setSelectedDataObject(cache.getDataObject(viewField, selectedValue)); 62 } 63 } 64 65 public Object getSelectedItem() { 66 if (viewField == null) 67 return getSelectedDataObject(); 68 return viewField.getValue(getSelectedDataObject()); 69 } 70 } 71 | Popular Tags |