Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / javax / swing / JComboBox.js
index 283e14b..59c579e 100644 (file)
-Clazz.declarePackage ("javax.swing");\r
-Clazz.load (["java.awt.ItemSelectable", "java.awt.event.ActionListener", "javax.swing.ActionPropertyChangeListener", "$.JComponent", "javax.swing.event.ListDataListener", "javax.swing.JPopupMenu"], "javax.swing.JComboBox", ["java.lang.IllegalArgumentException", "$.RuntimeException", "java.awt.Component", "$.EventQueue", "java.awt.event.ActionEvent", "$.InputEvent", "$.ItemEvent", "$.ItemListener", "javax.swing.AbstractAction", "$.DefaultComboBoxModel", "$.MutableComboBoxModel", "$.SwingUtilities", "$.UIManager", "javax.swing.event.AncestorListener", "$.PopupMenuEvent", "$.PopupMenuListener"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.dataModel = null;\r
-this.renderer = null;\r
-this.editor = null;\r
-this.maximumRowCount = 8;\r
-this.$isEditable = false;\r
-this.keySelectionManager = null;\r
-this.actionCommand = "comboBoxChanged";\r
-this.lightWeightPopupEnabled = false;\r
-this.selectedItemReminder = null;\r
-this.prototypeDisplayValue = null;\r
-this.firingActionEvent = false;\r
-this.selectingItem = false;\r
-this.$action = null;\r
-this.actionPropertyChangeListener = null;\r
-if (!Clazz.isClassDefined ("javax.swing.JComboBox.DefaultKeySelectionManager")) {\r
-javax.swing.JComboBox.$JComboBox$DefaultKeySelectionManager$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing, "JComboBox", javax.swing.JComponent, [java.awt.ItemSelectable, javax.swing.event.ListDataListener, java.awt.event.ActionListener]);\r
-Clazz.prepareFields (c$, function () {\r
-this.lightWeightPopupEnabled = javax.swing.JPopupMenu.getDefaultLightWeightPopupEnabled ();\r
-});\r
-Clazz.makeConstructor (c$, \r
-function (aModel) {\r
-Clazz.superConstructor (this, javax.swing.JComboBox);\r
-this.setModel (aModel);\r
-this.init ();\r
-}, "javax.swing.ComboBoxModel");\r
-Clazz.makeConstructor (c$, \r
-function (items) {\r
-Clazz.superConstructor (this, javax.swing.JComboBox);\r
-this.setModel ( new javax.swing.DefaultComboBoxModel (items));\r
-this.init ();\r
-}, "~A");\r
-Clazz.makeConstructor (c$, \r
-function (items) {\r
-Clazz.superConstructor (this, javax.swing.JComboBox);\r
-this.setModel ( new javax.swing.DefaultComboBoxModel (items));\r
-this.init ();\r
-}, "java.util.Vector");\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.JComboBox);\r
-this.setModel ( new javax.swing.DefaultComboBoxModel ());\r
-this.init ();\r
-});\r
-Clazz.defineMethod (c$, "init", \r
- function () {\r
-this.installAncestorListener ();\r
-this.setUIProperty ("opaque", new Boolean (true));\r
-this.updateUI ();\r
-});\r
-Clazz.defineMethod (c$, "installAncestorListener", \r
-function () {\r
-this.addAncestorListener (((Clazz.isClassDefined ("javax.swing.JComboBox$1") ? 0 : javax.swing.JComboBox.$JComboBox$1$ ()), Clazz.innerTypeInstance (javax.swing.JComboBox$1, this, null)));\r
-});\r
-Clazz.overrideMethod (c$, "updateUI", \r
-function () {\r
-this.setUI (javax.swing.UIManager.getUI (this));\r
-var renderer = this.getRenderer ();\r
-if (Clazz.instanceOf (renderer, java.awt.Component)) {\r
-javax.swing.SwingUtilities.updateComponentTreeUI (renderer);\r
-}});\r
-Clazz.overrideMethod (c$, "getUIClassID", \r
-function () {\r
-return "ComboBoxUI";\r
-});\r
-Clazz.overrideMethod (c$, "getUI", \r
-function () {\r
-return this.ui;\r
-});\r
-Clazz.defineMethod (c$, "setModel", \r
-function (aModel) {\r
-var oldModel = this.dataModel;\r
-if (oldModel != null) {\r
-oldModel.removeListDataListener (this);\r
-}this.dataModel = aModel;\r
-this.dataModel.addListDataListener (this);\r
-this.selectedItemReminder = this.dataModel.getSelectedItem ();\r
-this.firePropertyChangeObject ("model", oldModel, this.dataModel);\r
-}, "javax.swing.ComboBoxModel");\r
-Clazz.defineMethod (c$, "getModel", \r
-function () {\r
-return this.dataModel;\r
-});\r
-Clazz.defineMethod (c$, "setLightWeightPopupEnabled", \r
-function (aFlag) {\r
-var oldFlag = this.lightWeightPopupEnabled;\r
-this.lightWeightPopupEnabled = aFlag;\r
-this.firePropertyChangeBool ("lightWeightPopupEnabled", oldFlag, this.lightWeightPopupEnabled);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "isLightWeightPopupEnabled", \r
-function () {\r
-return this.lightWeightPopupEnabled;\r
-});\r
-Clazz.defineMethod (c$, "setEditable", \r
-function (aFlag) {\r
-var oldFlag = this.$isEditable;\r
-this.$isEditable = aFlag;\r
-this.firePropertyChangeBool ("editable", oldFlag, this.$isEditable);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "isEditable", \r
-function () {\r
-return this.$isEditable;\r
-});\r
-Clazz.defineMethod (c$, "setMaximumRowCount", \r
-function (count) {\r
-var oldCount = this.maximumRowCount;\r
-this.maximumRowCount = count;\r
-this.firePropertyChangeInt ("maximumRowCount", oldCount, this.maximumRowCount);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getMaximumRowCount", \r
-function () {\r
-return this.maximumRowCount;\r
-});\r
-Clazz.defineMethod (c$, "setRenderer", \r
-function (aRenderer) {\r
-var oldRenderer = this.renderer;\r
-this.renderer = aRenderer;\r
-this.firePropertyChangeObject ("renderer", oldRenderer, this.renderer);\r
-this.invalidate ();\r
-}, "javax.swing.ListCellRenderer");\r
-Clazz.defineMethod (c$, "getRenderer", \r
-function () {\r
-return this.renderer;\r
-});\r
-Clazz.defineMethod (c$, "setEditor", \r
-function (anEditor) {\r
-var oldEditor = this.editor;\r
-if (this.editor != null) {\r
-this.editor.removeActionListener (this);\r
-}this.editor = anEditor;\r
-if (this.editor != null) {\r
-this.editor.addActionListener (this);\r
-}this.firePropertyChangeObject ("editor", oldEditor, this.editor);\r
-}, "javax.swing.ComboBoxEditor");\r
-Clazz.defineMethod (c$, "getEditor", \r
-function () {\r
-return this.editor;\r
-});\r
-Clazz.defineMethod (c$, "setSelectedItem", \r
-function (anObject) {\r
-var oldSelection = this.selectedItemReminder;\r
-var objectToSelect = anObject;\r
-if (oldSelection == null || !oldSelection.equals (anObject)) {\r
-if (anObject != null && !this.isEditable ()) {\r
-var found = false;\r
-for (var i = 0; i < this.dataModel.getSize (); i++) {\r
-var element = this.dataModel.getElementAt (i);\r
-if (anObject.equals (element)) {\r
-found = true;\r
-objectToSelect = element;\r
-break;\r
-}}\r
-if (!found) {\r
-return;\r
-}}this.selectingItem = true;\r
-this.dataModel.setSelectedItem (objectToSelect);\r
-this.selectingItem = false;\r
-if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {\r
-this.selectedItemChanged ();\r
-}}this.fireActionEvent ();\r
-}, "~O");\r
-Clazz.defineMethod (c$, "getSelectedItem", \r
-function () {\r
-return this.dataModel.getSelectedItem ();\r
-});\r
-Clazz.defineMethod (c$, "setSelectedIndex", \r
-function (anIndex) {\r
-var size = this.dataModel.getSize ();\r
-if (anIndex == -1) {\r
-this.setSelectedItem (null);\r
-} else if (anIndex < -1 || anIndex >= size) {\r
-throw  new IllegalArgumentException ("setSelectedIndex: " + anIndex + " out of bounds");\r
-} else {\r
-this.setSelectedItem (this.dataModel.getElementAt (anIndex));\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "getSelectedIndex", \r
-function () {\r
-var sObject = this.dataModel.getSelectedItem ();\r
-var i;\r
-var c;\r
-var obj;\r
-for (i = 0, c = this.dataModel.getSize (); i < c; i++) {\r
-obj = this.dataModel.getElementAt (i);\r
-if (obj != null && obj.equals (sObject)) return i;\r
-}\r
-return -1;\r
-});\r
-Clazz.defineMethod (c$, "getPrototypeDisplayValue", \r
-function () {\r
-return this.prototypeDisplayValue;\r
-});\r
-Clazz.defineMethod (c$, "setPrototypeDisplayValue", \r
-function (prototypeDisplayValue) {\r
-var oldValue = this.prototypeDisplayValue;\r
-this.prototypeDisplayValue = prototypeDisplayValue;\r
-this.firePropertyChangeObject ("prototypeDisplayValue", oldValue, prototypeDisplayValue);\r
-}, "~O");\r
-Clazz.defineMethod (c$, "addItem", \r
-function (anObject) {\r
-this.checkMutableComboBoxModel ();\r
-(this.dataModel).addElement (anObject);\r
-}, "~O");\r
-Clazz.defineMethod (c$, "insertItemAt", \r
-function (anObject, index) {\r
-this.checkMutableComboBoxModel ();\r
-(this.dataModel).insertElementAt (anObject, index);\r
-}, "~O,~N");\r
-Clazz.defineMethod (c$, "removeItem", \r
-function (anObject) {\r
-this.checkMutableComboBoxModel ();\r
-(this.dataModel).removeElement (anObject);\r
-}, "~O");\r
-Clazz.defineMethod (c$, "removeItemAt", \r
-function (anIndex) {\r
-this.checkMutableComboBoxModel ();\r
-(this.dataModel).removeElementAt (anIndex);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "removeAllItems", \r
-function () {\r
-this.checkMutableComboBoxModel ();\r
-var model = this.dataModel;\r
-var size = model.getSize ();\r
-if (Clazz.instanceOf (model, javax.swing.DefaultComboBoxModel)) {\r
-(model).removeAllElements ();\r
-} else {\r
-for (var i = 0; i < size; ++i) {\r
-var element = model.getElementAt (0);\r
-model.removeElement (element);\r
-}\r
-}this.selectedItemReminder = null;\r
-if (this.isEditable ()) {\r
-this.editor.setItem (null);\r
-}});\r
-Clazz.defineMethod (c$, "checkMutableComboBoxModel", \r
-function () {\r
-if (!(Clazz.instanceOf (this.dataModel, javax.swing.MutableComboBoxModel))) throw  new RuntimeException ("Cannot use this method with a non-Mutable data model.");\r
-});\r
-Clazz.defineMethod (c$, "showPopup", \r
-function () {\r
-this.setPopupVisible (true);\r
-});\r
-Clazz.defineMethod (c$, "hidePopup", \r
-function () {\r
-this.setPopupVisible (false);\r
-});\r
-Clazz.defineMethod (c$, "setPopupVisible", \r
-function (v) {\r
-this.getUI ().setPopupVisible (this, v);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "isPopupVisible", \r
-function () {\r
-return this.getUI ().isPopupVisible (this);\r
-});\r
-Clazz.overrideMethod (c$, "addItemListener", \r
-function (aListener) {\r
-this.listenerList.add (java.awt.event.ItemListener, aListener);\r
-}, "java.awt.event.ItemListener");\r
-Clazz.overrideMethod (c$, "removeItemListener", \r
-function (aListener) {\r
-this.listenerList.remove (java.awt.event.ItemListener, aListener);\r
-}, "java.awt.event.ItemListener");\r
-Clazz.defineMethod (c$, "getItemListeners", \r
-function () {\r
-return this.listenerList.getListeners (java.awt.event.ItemListener);\r
-});\r
-Clazz.defineMethod (c$, "addActionListener", \r
-function (l) {\r
-this.listenerList.add (java.awt.event.ActionListener, l);\r
-}, "java.awt.event.ActionListener");\r
-Clazz.defineMethod (c$, "removeActionListener", \r
-function (l) {\r
-if ((l != null) && (this.getAction () === l)) {\r
-this.setAction (null);\r
-} else {\r
-this.listenerList.remove (java.awt.event.ActionListener, l);\r
-}}, "java.awt.event.ActionListener");\r
-Clazz.defineMethod (c$, "getActionListeners", \r
-function () {\r
-return this.listenerList.getListeners (java.awt.event.ActionListener);\r
-});\r
-Clazz.defineMethod (c$, "addPopupMenuListener", \r
-function (l) {\r
-this.listenerList.add (javax.swing.event.PopupMenuListener, l);\r
-}, "javax.swing.event.PopupMenuListener");\r
-Clazz.defineMethod (c$, "removePopupMenuListener", \r
-function (l) {\r
-this.listenerList.remove (javax.swing.event.PopupMenuListener, l);\r
-}, "javax.swing.event.PopupMenuListener");\r
-Clazz.defineMethod (c$, "getPopupMenuListeners", \r
-function () {\r
-return this.listenerList.getListeners (javax.swing.event.PopupMenuListener);\r
-});\r
-Clazz.defineMethod (c$, "firePopupMenuWillBecomeVisible", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-var e = null;\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
-if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
-(listeners[i + 1]).popupMenuWillBecomeVisible (e);\r
-}}\r
-});\r
-Clazz.defineMethod (c$, "firePopupMenuWillBecomeInvisible", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-var e = null;\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
-if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
-(listeners[i + 1]).popupMenuWillBecomeInvisible (e);\r
-}}\r
-});\r
-Clazz.defineMethod (c$, "firePopupMenuCanceled", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-var e = null;\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.PopupMenuListener) {\r
-if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);\r
-(listeners[i + 1]).popupMenuCanceled (e);\r
-}}\r
-});\r
-Clazz.defineMethod (c$, "setActionCommand", \r
-function (aCommand) {\r
-this.actionCommand = aCommand;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getActionCommand", \r
-function () {\r
-return this.actionCommand;\r
-});\r
-Clazz.defineMethod (c$, "setAction", \r
-function (a) {\r
-var oldValue = this.getAction ();\r
-if (this.$action == null || !this.$action.equals (a)) {\r
-this.$action = a;\r
-if (oldValue != null) {\r
-this.removeActionListener (oldValue);\r
-oldValue.removePropertyChangeListener (this.actionPropertyChangeListener);\r
-this.actionPropertyChangeListener = null;\r
-}this.configurePropertiesFromAction (this.$action);\r
-if (this.$action != null) {\r
-if (!this.isListener (java.awt.event.ActionListener, this.$action)) {\r
-this.addActionListener (this.$action);\r
-}this.actionPropertyChangeListener = this.createActionPropertyChangeListener (this.$action);\r
-this.$action.addPropertyChangeListener (this.actionPropertyChangeListener);\r
-}this.firePropertyChangeObject ("action", oldValue, this.$action);\r
-}}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "isListener", \r
- function (c, a) {\r
-var isListener = false;\r
-var listeners = this.listenerList.getListenerList ();\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === c && listeners[i + 1] === a) {\r
-isListener = true;\r
-}}\r
-return isListener;\r
-}, "Class,java.awt.event.ActionListener");\r
-Clazz.defineMethod (c$, "getAction", \r
-function () {\r
-return this.$action;\r
-});\r
-Clazz.defineMethod (c$, "configurePropertiesFromAction", \r
-function (a) {\r
-javax.swing.AbstractAction.setEnabledFromAction (this, a);\r
-javax.swing.AbstractAction.setToolTipTextFromAction (this, a);\r
-this.setActionCommandFromAction (a);\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "createActionPropertyChangeListener", \r
-function (a) {\r
-return  new javax.swing.JComboBox.ComboBoxActionPropertyChangeListener (this, a);\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "actionPropertyChanged", \r
-function (action, propertyName) {\r
-if (propertyName === "ActionCommandKey") {\r
-this.setActionCommandFromAction (action);\r
-} else if (propertyName === "enabled") {\r
-javax.swing.AbstractAction.setEnabledFromAction (this, action);\r
-} else if ("ShortDescription" === propertyName) {\r
-javax.swing.AbstractAction.setToolTipTextFromAction (this, action);\r
-}}, "javax.swing.Action,~S");\r
-Clazz.defineMethod (c$, "setActionCommandFromAction", \r
- function (a) {\r
-this.setActionCommand ((a != null) ? a.getValue ("ActionCommandKey") : null);\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "fireItemStateChanged", \r
-function (e) {\r
-var listeners = this.listenerList.getListenerList ();\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === java.awt.event.ItemListener) {\r
-(listeners[i + 1]).itemStateChanged (e);\r
-}}\r
-}, "java.awt.event.ItemEvent");\r
-Clazz.defineMethod (c$, "fireActionEvent", \r
-function () {\r
-if (!this.firingActionEvent) {\r
-this.firingActionEvent = true;\r
-var e = null;\r
-var listeners = this.listenerList.getListenerList ();\r
-var mostRecentEventTime = java.awt.EventQueue.getMostRecentEventTime ();\r
-var modifiers = 0;\r
-var currentEvent = java.awt.EventQueue.getCurrentEvent ();\r
-if (Clazz.instanceOf (currentEvent, java.awt.event.InputEvent)) {\r
-modifiers = (currentEvent).getModifiers ();\r
-} else if (Clazz.instanceOf (currentEvent, java.awt.event.ActionEvent)) {\r
-modifiers = (currentEvent).getModifiers ();\r
-}for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === java.awt.event.ActionListener) {\r
-if (e == null) e =  new java.awt.event.ActionEvent (this, 1001, this.getActionCommand (), mostRecentEventTime, modifiers);\r
-(listeners[i + 1]).actionPerformed (e);\r
-}}\r
-this.firingActionEvent = false;\r
-}});\r
-Clazz.defineMethod (c$, "selectedItemChanged", \r
-function () {\r
-if (this.selectedItemReminder != null) {\r
-this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 2));\r
-}this.selectedItemReminder = this.dataModel.getSelectedItem ();\r
-if (this.selectedItemReminder != null) {\r
-this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 1));\r
-}});\r
-Clazz.overrideMethod (c$, "getSelectedObjects", \r
-function () {\r
-var selectedObject = this.getSelectedItem ();\r
-if (selectedObject == null) return  new Array (0);\r
- else {\r
-var result =  new Array (1);\r
-result[0] = selectedObject;\r
-return result;\r
-}});\r
-Clazz.defineMethod (c$, "actionPerformed", \r
-function (e) {\r
-var newItem = this.getEditor ().getItem ();\r
-this.setPopupVisible (false);\r
-this.getModel ().setSelectedItem (newItem);\r
-var oldCommand = this.getActionCommand ();\r
-this.setActionCommand ("comboBoxEdited");\r
-this.fireActionEvent ();\r
-this.setActionCommand (oldCommand);\r
-}, "java.awt.event.ActionEvent");\r
-Clazz.overrideMethod (c$, "contentsChanged", \r
-function (e) {\r
-var oldSelection = this.selectedItemReminder;\r
-var newSelection = this.dataModel.getSelectedItem ();\r
-if (oldSelection == null || !oldSelection.equals (newSelection)) {\r
-this.selectedItemChanged ();\r
-if (!this.selectingItem) {\r
-this.fireActionEvent ();\r
-}}}, "javax.swing.event.ListDataEvent");\r
-Clazz.overrideMethod (c$, "intervalAdded", \r
-function (e) {\r
-if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {\r
-this.selectedItemChanged ();\r
-}}, "javax.swing.event.ListDataEvent");\r
-Clazz.overrideMethod (c$, "intervalRemoved", \r
-function (e) {\r
-this.contentsChanged (e);\r
-}, "javax.swing.event.ListDataEvent");\r
-Clazz.defineMethod (c$, "selectWithKeyChar", \r
-function (keyChar) {\r
-var index;\r
-if (this.keySelectionManager == null) this.keySelectionManager = this.createDefaultKeySelectionManager ();\r
-index = this.keySelectionManager.selectionForKey (keyChar, this.getModel ());\r
-if (index != -1) {\r
-this.setSelectedIndex (index);\r
-return true;\r
-} else return false;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "setEnabled", \r
-function (b) {\r
-Clazz.superCall (this, javax.swing.JComboBox, "setEnabled", [b]);\r
-this.firePropertyChangeBool ("enabled", !this.isEnabled (), this.isEnabled ());\r
-}, "~B");\r
-Clazz.defineMethod (c$, "configureEditor", \r
-function (anEditor, anItem) {\r
-anEditor.setItem (anItem);\r
-}, "javax.swing.ComboBoxEditor,~O");\r
-Clazz.defineMethod (c$, "processKeyEvent", \r
-function (e) {\r
-if (e.getKeyCode () == 9) {\r
-this.hidePopup ();\r
-}Clazz.superCall (this, javax.swing.JComboBox, "processKeyEvent", [e]);\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.defineMethod (c$, "setKeySelectionManager", \r
-function (aManager) {\r
-this.keySelectionManager = aManager;\r
-}, "javax.swing.JComboBox.KeySelectionManager");\r
-Clazz.defineMethod (c$, "getKeySelectionManager", \r
-function () {\r
-return this.keySelectionManager;\r
-});\r
-Clazz.defineMethod (c$, "getItemCount", \r
-function () {\r
-return this.dataModel.getSize ();\r
-});\r
-Clazz.defineMethod (c$, "getItemAt", \r
-function (index) {\r
-return this.dataModel.getElementAt (index);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "createDefaultKeySelectionManager", \r
-function () {\r
-return Clazz.innerTypeInstance (javax.swing.JComboBox.DefaultKeySelectionManager, this, null);\r
-});\r
-Clazz.defineMethod (c$, "paramString", \r
-function () {\r
-var selectedItemReminderString = (this.selectedItemReminder != null ? this.selectedItemReminder.toString () : "");\r
-var isEditableString = (this.$isEditable ? "true" : "false");\r
-var lightWeightPopupEnabledString = (this.lightWeightPopupEnabled ? "true" : "false");\r
-return Clazz.superCall (this, javax.swing.JComboBox, "paramString", []) + ",isEditable=" + isEditableString + ",lightWeightPopupEnabled=" + lightWeightPopupEnabledString + ",maximumRowCount=" + this.maximumRowCount + ",selectedItemReminder=" + selectedItemReminderString;\r
-});\r
-c$.$JComboBox$DefaultKeySelectionManager$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.JComboBox, "DefaultKeySelectionManager", null, javax.swing.JComboBox.KeySelectionManager);\r
-Clazz.overrideMethod (c$, "selectionForKey", \r
-function (a, b) {\r
-var c;\r
-var d;\r
-var e = -1;\r
-var f = b.getSelectedItem ();\r
-var g;\r
-var h;\r
-if (f != null) {\r
-for (c = 0, d = b.getSize (); c < d; c++) {\r
-if (f === b.getElementAt (c)) {\r
-e = c;\r
-break;\r
-}}\r
-}h = ("" + a).toLowerCase ();\r
-a = h.charAt (0);\r
-for (c = ++e, d = b.getSize (); c < d; c++) {\r
-var i = b.getElementAt (c);\r
-if (i != null && i.toString () != null) {\r
-g = i.toString ().toLowerCase ();\r
-if (g.length > 0 && g.charAt (0) == a) return c;\r
-}}\r
-for (c = 0; c < e; c++) {\r
-var i = b.getElementAt (c);\r
-if (i != null && i.toString () != null) {\r
-g = i.toString ().toLowerCase ();\r
-if (g.length > 0 && g.charAt (0) == a) return c;\r
-}}\r
-return -1;\r
-}, "~S,javax.swing.ComboBoxModel");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$JComboBox$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing, "JComboBox$1", null, javax.swing.event.AncestorListener);\r
-Clazz.overrideMethod (c$, "ancestorAdded", \r
-function (event) {\r
-this.b$["javax.swing.JComboBox"].hidePopup ();\r
-}, "javax.swing.event.AncestorEvent");\r
-Clazz.overrideMethod (c$, "ancestorRemoved", \r
-function (event) {\r
-this.b$["javax.swing.JComboBox"].hidePopup ();\r
-}, "javax.swing.event.AncestorEvent");\r
-Clazz.overrideMethod (c$, "ancestorMoved", \r
-function (event) {\r
-if (event.getSource () !== this.b$["javax.swing.JComboBox"]) this.b$["javax.swing.JComboBox"].hidePopup ();\r
-}, "javax.swing.event.AncestorEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareType (javax.swing.JComboBox, "ComboBoxActionPropertyChangeListener", javax.swing.ActionPropertyChangeListener);\r
-Clazz.overrideMethod (c$, "actionPropertyChanged", \r
-function (a, b, c) {\r
-if (javax.swing.AbstractAction.shouldReconfigure (c)) {\r
-a.configurePropertiesFromAction (b);\r
-} else {\r
-a.actionPropertyChanged (b, c.getPropertyName ());\r
-}}, "javax.swing.JComboBox,javax.swing.Action,java.beans.PropertyChangeEvent");\r
-c$ = Clazz.p0p ();\r
-Clazz.declareInterface (javax.swing.JComboBox, "KeySelectionManager");\r
-Clazz.defineStatics (c$,\r
-"$uiClassID", "ComboBoxUI");\r
-});\r
+Clazz.declarePackage ("javax.swing");
+Clazz.load (["java.awt.ItemSelectable", "java.awt.event.ActionListener", "javax.swing.ActionPropertyChangeListener", "$.JComponent", "javax.swing.event.ListDataListener", "javax.swing.JPopupMenu"], "javax.swing.JComboBox", ["java.lang.IllegalArgumentException", "$.RuntimeException", "java.awt.Component", "$.EventQueue", "java.awt.event.ActionEvent", "$.InputEvent", "$.ItemEvent", "$.ItemListener", "javax.swing.AbstractAction", "$.DefaultComboBoxModel", "$.MutableComboBoxModel", "$.SwingUtilities", "$.UIManager", "javax.swing.event.AncestorListener", "$.PopupMenuEvent", "$.PopupMenuListener"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.dataModel = null;
+this.renderer = null;
+this.editor = null;
+this.maximumRowCount = 8;
+this.$isEditable = false;
+this.keySelectionManager = null;
+this.actionCommand = "comboBoxChanged";
+this.lightWeightPopupEnabled = false;
+this.selectedItemReminder = null;
+this.prototypeDisplayValue = null;
+this.firingActionEvent = false;
+this.selectingItem = false;
+this.$action = null;
+this.actionPropertyChangeListener = null;
+if (!Clazz.isClassDefined ("javax.swing.JComboBox.DefaultKeySelectionManager")) {
+javax.swing.JComboBox.$JComboBox$DefaultKeySelectionManager$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing, "JComboBox", javax.swing.JComponent, [java.awt.ItemSelectable, javax.swing.event.ListDataListener, java.awt.event.ActionListener]);
+Clazz.prepareFields (c$, function () {
+this.lightWeightPopupEnabled = javax.swing.JPopupMenu.getDefaultLightWeightPopupEnabled ();
+});
+Clazz.makeConstructor (c$, 
+function (aModel) {
+Clazz.superConstructor (this, javax.swing.JComboBox);
+this.setModel (aModel);
+this.init ();
+}, "javax.swing.ComboBoxModel");
+Clazz.makeConstructor (c$, 
+function (items) {
+Clazz.superConstructor (this, javax.swing.JComboBox);
+this.setModel ( new javax.swing.DefaultComboBoxModel (items));
+this.init ();
+}, "~A");
+Clazz.makeConstructor (c$, 
+function (items) {
+Clazz.superConstructor (this, javax.swing.JComboBox);
+this.setModel ( new javax.swing.DefaultComboBoxModel (items));
+this.init ();
+}, "java.util.Vector");
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.JComboBox);
+this.setModel ( new javax.swing.DefaultComboBoxModel ());
+this.init ();
+});
+Clazz.defineMethod (c$, "init", 
+ function () {
+this.installAncestorListener ();
+this.setUIProperty ("opaque", new Boolean (true));
+this.updateUI ();
+});
+Clazz.defineMethod (c$, "installAncestorListener", 
+function () {
+this.addAncestorListener (((Clazz.isClassDefined ("javax.swing.JComboBox$1") ? 0 : javax.swing.JComboBox.$JComboBox$1$ ()), Clazz.innerTypeInstance (javax.swing.JComboBox$1, this, null)));
+});
+Clazz.overrideMethod (c$, "updateUI", 
+function () {
+this.setUI (javax.swing.UIManager.getUI (this));
+var renderer = this.getRenderer ();
+if (Clazz.instanceOf (renderer, java.awt.Component)) {
+javax.swing.SwingUtilities.updateComponentTreeUI (renderer);
+}});
+Clazz.overrideMethod (c$, "getUIClassID", 
+function () {
+return "ComboBoxUI";
+});
+Clazz.overrideMethod (c$, "getUI", 
+function () {
+return this.ui;
+});
+Clazz.defineMethod (c$, "setModel", 
+function (aModel) {
+var oldModel = this.dataModel;
+if (oldModel != null) {
+oldModel.removeListDataListener (this);
+}this.dataModel = aModel;
+this.dataModel.addListDataListener (this);
+this.selectedItemReminder = this.dataModel.getSelectedItem ();
+this.firePropertyChangeObject ("model", oldModel, this.dataModel);
+}, "javax.swing.ComboBoxModel");
+Clazz.defineMethod (c$, "getModel", 
+function () {
+return this.dataModel;
+});
+Clazz.defineMethod (c$, "setLightWeightPopupEnabled", 
+function (aFlag) {
+var oldFlag = this.lightWeightPopupEnabled;
+this.lightWeightPopupEnabled = aFlag;
+this.firePropertyChangeBool ("lightWeightPopupEnabled", oldFlag, this.lightWeightPopupEnabled);
+}, "~B");
+Clazz.defineMethod (c$, "isLightWeightPopupEnabled", 
+function () {
+return this.lightWeightPopupEnabled;
+});
+Clazz.defineMethod (c$, "setEditable", 
+function (aFlag) {
+var oldFlag = this.$isEditable;
+this.$isEditable = aFlag;
+this.firePropertyChangeBool ("editable", oldFlag, this.$isEditable);
+}, "~B");
+Clazz.defineMethod (c$, "isEditable", 
+function () {
+return this.$isEditable;
+});
+Clazz.defineMethod (c$, "setMaximumRowCount", 
+function (count) {
+var oldCount = this.maximumRowCount;
+this.maximumRowCount = count;
+this.firePropertyChangeInt ("maximumRowCount", oldCount, this.maximumRowCount);
+}, "~N");
+Clazz.defineMethod (c$, "getMaximumRowCount", 
+function () {
+return this.maximumRowCount;
+});
+Clazz.defineMethod (c$, "setRenderer", 
+function (aRenderer) {
+var oldRenderer = this.renderer;
+this.renderer = aRenderer;
+this.firePropertyChangeObject ("renderer", oldRenderer, this.renderer);
+this.invalidate ();
+}, "javax.swing.ListCellRenderer");
+Clazz.defineMethod (c$, "getRenderer", 
+function () {
+return this.renderer;
+});
+Clazz.defineMethod (c$, "setEditor", 
+function (anEditor) {
+var oldEditor = this.editor;
+if (this.editor != null) {
+this.editor.removeActionListener (this);
+}this.editor = anEditor;
+if (this.editor != null) {
+this.editor.addActionListener (this);
+}this.firePropertyChangeObject ("editor", oldEditor, this.editor);
+}, "javax.swing.ComboBoxEditor");
+Clazz.defineMethod (c$, "getEditor", 
+function () {
+return this.editor;
+});
+Clazz.defineMethod (c$, "setSelectedItem", 
+function (anObject) {
+var oldSelection = this.selectedItemReminder;
+var objectToSelect = anObject;
+if (oldSelection == null || !oldSelection.equals (anObject)) {
+if (anObject != null && !this.isEditable ()) {
+var found = false;
+for (var i = 0; i < this.dataModel.getSize (); i++) {
+var element = this.dataModel.getElementAt (i);
+if (anObject.equals (element)) {
+found = true;
+objectToSelect = element;
+break;
+}}
+if (!found) {
+return;
+}}this.selectingItem = true;
+this.dataModel.setSelectedItem (objectToSelect);
+this.selectingItem = false;
+if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {
+this.selectedItemChanged ();
+}}this.fireActionEvent ();
+}, "~O");
+Clazz.defineMethod (c$, "getSelectedItem", 
+function () {
+return this.dataModel.getSelectedItem ();
+});
+Clazz.defineMethod (c$, "setSelectedIndex", 
+function (anIndex) {
+var size = this.dataModel.getSize ();
+if (anIndex == -1) {
+this.setSelectedItem (null);
+} else if (anIndex < -1 || anIndex >= size) {
+throw  new IllegalArgumentException ("setSelectedIndex: " + anIndex + " out of bounds");
+} else {
+this.setSelectedItem (this.dataModel.getElementAt (anIndex));
+}}, "~N");
+Clazz.defineMethod (c$, "getSelectedIndex", 
+function () {
+var sObject = this.dataModel.getSelectedItem ();
+var i;
+var c;
+var obj;
+for (i = 0, c = this.dataModel.getSize (); i < c; i++) {
+obj = this.dataModel.getElementAt (i);
+if (obj != null && obj.equals (sObject)) return i;
+}
+return -1;
+});
+Clazz.defineMethod (c$, "getPrototypeDisplayValue", 
+function () {
+return this.prototypeDisplayValue;
+});
+Clazz.defineMethod (c$, "setPrototypeDisplayValue", 
+function (prototypeDisplayValue) {
+var oldValue = this.prototypeDisplayValue;
+this.prototypeDisplayValue = prototypeDisplayValue;
+this.firePropertyChangeObject ("prototypeDisplayValue", oldValue, prototypeDisplayValue);
+}, "~O");
+Clazz.defineMethod (c$, "addItem", 
+function (anObject) {
+this.checkMutableComboBoxModel ();
+(this.dataModel).addElement (anObject);
+}, "~O");
+Clazz.defineMethod (c$, "insertItemAt", 
+function (anObject, index) {
+this.checkMutableComboBoxModel ();
+(this.dataModel).insertElementAt (anObject, index);
+}, "~O,~N");
+Clazz.defineMethod (c$, "removeItem", 
+function (anObject) {
+this.checkMutableComboBoxModel ();
+(this.dataModel).removeElement (anObject);
+}, "~O");
+Clazz.defineMethod (c$, "removeItemAt", 
+function (anIndex) {
+this.checkMutableComboBoxModel ();
+(this.dataModel).removeElementAt (anIndex);
+}, "~N");
+Clazz.defineMethod (c$, "removeAllItems", 
+function () {
+this.checkMutableComboBoxModel ();
+var model = this.dataModel;
+var size = model.getSize ();
+if (Clazz.instanceOf (model, javax.swing.DefaultComboBoxModel)) {
+(model).removeAllElements ();
+} else {
+for (var i = 0; i < size; ++i) {
+var element = model.getElementAt (0);
+model.removeElement (element);
+}
+}this.selectedItemReminder = null;
+if (this.isEditable ()) {
+this.editor.setItem (null);
+}});
+Clazz.defineMethod (c$, "checkMutableComboBoxModel", 
+function () {
+if (!(Clazz.instanceOf (this.dataModel, javax.swing.MutableComboBoxModel))) throw  new RuntimeException ("Cannot use this method with a non-Mutable data model.");
+});
+Clazz.defineMethod (c$, "showPopup", 
+function () {
+this.setPopupVisible (true);
+});
+Clazz.defineMethod (c$, "hidePopup", 
+function () {
+this.setPopupVisible (false);
+});
+Clazz.defineMethod (c$, "setPopupVisible", 
+function (v) {
+this.getUI ().setPopupVisible (this, v);
+}, "~B");
+Clazz.defineMethod (c$, "isPopupVisible", 
+function () {
+return this.getUI ().isPopupVisible (this);
+});
+Clazz.overrideMethod (c$, "addItemListener", 
+function (aListener) {
+this.listenerList.add (java.awt.event.ItemListener, aListener);
+}, "java.awt.event.ItemListener");
+Clazz.overrideMethod (c$, "removeItemListener", 
+function (aListener) {
+this.listenerList.remove (java.awt.event.ItemListener, aListener);
+}, "java.awt.event.ItemListener");
+Clazz.defineMethod (c$, "getItemListeners", 
+function () {
+return this.listenerList.getListeners (java.awt.event.ItemListener);
+});
+Clazz.defineMethod (c$, "addActionListener", 
+function (l) {
+this.listenerList.add (java.awt.event.ActionListener, l);
+}, "java.awt.event.ActionListener");
+Clazz.defineMethod (c$, "removeActionListener", 
+function (l) {
+if ((l != null) && (this.getAction () === l)) {
+this.setAction (null);
+} else {
+this.listenerList.remove (java.awt.event.ActionListener, l);
+}}, "java.awt.event.ActionListener");
+Clazz.defineMethod (c$, "getActionListeners", 
+function () {
+return this.listenerList.getListeners (java.awt.event.ActionListener);
+});
+Clazz.defineMethod (c$, "addPopupMenuListener", 
+function (l) {
+this.listenerList.add (javax.swing.event.PopupMenuListener, l);
+}, "javax.swing.event.PopupMenuListener");
+Clazz.defineMethod (c$, "removePopupMenuListener", 
+function (l) {
+this.listenerList.remove (javax.swing.event.PopupMenuListener, l);
+}, "javax.swing.event.PopupMenuListener");
+Clazz.defineMethod (c$, "getPopupMenuListeners", 
+function () {
+return this.listenerList.getListeners (javax.swing.event.PopupMenuListener);
+});
+Clazz.defineMethod (c$, "firePopupMenuWillBecomeVisible", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+var e = null;
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.PopupMenuListener) {
+if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);
+(listeners[i + 1]).popupMenuWillBecomeVisible (e);
+}}
+});
+Clazz.defineMethod (c$, "firePopupMenuWillBecomeInvisible", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+var e = null;
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.PopupMenuListener) {
+if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);
+(listeners[i + 1]).popupMenuWillBecomeInvisible (e);
+}}
+});
+Clazz.defineMethod (c$, "firePopupMenuCanceled", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+var e = null;
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.PopupMenuListener) {
+if (e == null) e =  new javax.swing.event.PopupMenuEvent (this);
+(listeners[i + 1]).popupMenuCanceled (e);
+}}
+});
+Clazz.defineMethod (c$, "setActionCommand", 
+function (aCommand) {
+this.actionCommand = aCommand;
+}, "~S");
+Clazz.defineMethod (c$, "getActionCommand", 
+function () {
+return this.actionCommand;
+});
+Clazz.defineMethod (c$, "setAction", 
+function (a) {
+var oldValue = this.getAction ();
+if (this.$action == null || !this.$action.equals (a)) {
+this.$action = a;
+if (oldValue != null) {
+this.removeActionListener (oldValue);
+oldValue.removePropertyChangeListener (this.actionPropertyChangeListener);
+this.actionPropertyChangeListener = null;
+}this.configurePropertiesFromAction (this.$action);
+if (this.$action != null) {
+if (!this.isListener (java.awt.event.ActionListener, this.$action)) {
+this.addActionListener (this.$action);
+}this.actionPropertyChangeListener = this.createActionPropertyChangeListener (this.$action);
+this.$action.addPropertyChangeListener (this.actionPropertyChangeListener);
+}this.firePropertyChangeObject ("action", oldValue, this.$action);
+}}, "javax.swing.Action");
+Clazz.defineMethod (c$, "isListener", 
+ function (c, a) {
+var isListener = false;
+var listeners = this.listenerList.getListenerList ();
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === c && listeners[i + 1] === a) {
+isListener = true;
+}}
+return isListener;
+}, "Class,java.awt.event.ActionListener");
+Clazz.defineMethod (c$, "getAction", 
+function () {
+return this.$action;
+});
+Clazz.defineMethod (c$, "configurePropertiesFromAction", 
+function (a) {
+javax.swing.AbstractAction.setEnabledFromAction (this, a);
+javax.swing.AbstractAction.setToolTipTextFromAction (this, a);
+this.setActionCommandFromAction (a);
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "createActionPropertyChangeListener", 
+function (a) {
+return  new javax.swing.JComboBox.ComboBoxActionPropertyChangeListener (this, a);
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "actionPropertyChanged", 
+function (action, propertyName) {
+if (propertyName === "ActionCommandKey") {
+this.setActionCommandFromAction (action);
+} else if (propertyName === "enabled") {
+javax.swing.AbstractAction.setEnabledFromAction (this, action);
+} else if ("ShortDescription" === propertyName) {
+javax.swing.AbstractAction.setToolTipTextFromAction (this, action);
+}}, "javax.swing.Action,~S");
+Clazz.defineMethod (c$, "setActionCommandFromAction", 
+ function (a) {
+this.setActionCommand ((a != null) ? a.getValue ("ActionCommandKey") : null);
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "fireItemStateChanged", 
+function (e) {
+var listeners = this.listenerList.getListenerList ();
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === java.awt.event.ItemListener) {
+(listeners[i + 1]).itemStateChanged (e);
+}}
+}, "java.awt.event.ItemEvent");
+Clazz.defineMethod (c$, "fireActionEvent", 
+function () {
+if (!this.firingActionEvent) {
+this.firingActionEvent = true;
+var e = null;
+var listeners = this.listenerList.getListenerList ();
+var mostRecentEventTime = java.awt.EventQueue.getMostRecentEventTime ();
+var modifiers = 0;
+var currentEvent = java.awt.EventQueue.getCurrentEvent ();
+if (Clazz.instanceOf (currentEvent, java.awt.event.InputEvent)) {
+modifiers = (currentEvent).getModifiers ();
+} else if (Clazz.instanceOf (currentEvent, java.awt.event.ActionEvent)) {
+modifiers = (currentEvent).getModifiers ();
+}for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === java.awt.event.ActionListener) {
+if (e == null) e =  new java.awt.event.ActionEvent (this, 1001, this.getActionCommand (), mostRecentEventTime, modifiers);
+(listeners[i + 1]).actionPerformed (e);
+}}
+this.firingActionEvent = false;
+}});
+Clazz.defineMethod (c$, "selectedItemChanged", 
+function () {
+if (this.selectedItemReminder != null) {
+this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 2));
+}this.selectedItemReminder = this.dataModel.getSelectedItem ();
+if (this.selectedItemReminder != null) {
+this.fireItemStateChanged ( new java.awt.event.ItemEvent (this, 701, this.selectedItemReminder, 1));
+}});
+Clazz.overrideMethod (c$, "getSelectedObjects", 
+function () {
+var selectedObject = this.getSelectedItem ();
+if (selectedObject == null) return  new Array (0);
+ else {
+var result =  new Array (1);
+result[0] = selectedObject;
+return result;
+}});
+Clazz.defineMethod (c$, "actionPerformed", 
+function (e) {
+var newItem = this.getEditor ().getItem ();
+this.setPopupVisible (false);
+this.getModel ().setSelectedItem (newItem);
+var oldCommand = this.getActionCommand ();
+this.setActionCommand ("comboBoxEdited");
+this.fireActionEvent ();
+this.setActionCommand (oldCommand);
+}, "java.awt.event.ActionEvent");
+Clazz.overrideMethod (c$, "contentsChanged", 
+function (e) {
+var oldSelection = this.selectedItemReminder;
+var newSelection = this.dataModel.getSelectedItem ();
+if (oldSelection == null || !oldSelection.equals (newSelection)) {
+this.selectedItemChanged ();
+if (!this.selectingItem) {
+this.fireActionEvent ();
+}}}, "javax.swing.event.ListDataEvent");
+Clazz.overrideMethod (c$, "intervalAdded", 
+function (e) {
+if (this.selectedItemReminder !== this.dataModel.getSelectedItem ()) {
+this.selectedItemChanged ();
+}}, "javax.swing.event.ListDataEvent");
+Clazz.overrideMethod (c$, "intervalRemoved", 
+function (e) {
+this.contentsChanged (e);
+}, "javax.swing.event.ListDataEvent");
+Clazz.defineMethod (c$, "selectWithKeyChar", 
+function (keyChar) {
+var index;
+if (this.keySelectionManager == null) this.keySelectionManager = this.createDefaultKeySelectionManager ();
+index = this.keySelectionManager.selectionForKey (keyChar, this.getModel ());
+if (index != -1) {
+this.setSelectedIndex (index);
+return true;
+} else return false;
+}, "~S");
+Clazz.defineMethod (c$, "setEnabled", 
+function (b) {
+Clazz.superCall (this, javax.swing.JComboBox, "setEnabled", [b]);
+this.firePropertyChangeBool ("enabled", !this.isEnabled (), this.isEnabled ());
+}, "~B");
+Clazz.defineMethod (c$, "configureEditor", 
+function (anEditor, anItem) {
+anEditor.setItem (anItem);
+}, "javax.swing.ComboBoxEditor,~O");
+Clazz.defineMethod (c$, "processKeyEvent", 
+function (e) {
+if (e.getKeyCode () == 9) {
+this.hidePopup ();
+}Clazz.superCall (this, javax.swing.JComboBox, "processKeyEvent", [e]);
+}, "java.awt.event.KeyEvent");
+Clazz.defineMethod (c$, "setKeySelectionManager", 
+function (aManager) {
+this.keySelectionManager = aManager;
+}, "javax.swing.JComboBox.KeySelectionManager");
+Clazz.defineMethod (c$, "getKeySelectionManager", 
+function () {
+return this.keySelectionManager;
+});
+Clazz.defineMethod (c$, "getItemCount", 
+function () {
+return this.dataModel.getSize ();
+});
+Clazz.defineMethod (c$, "getItemAt", 
+function (index) {
+return this.dataModel.getElementAt (index);
+}, "~N");
+Clazz.defineMethod (c$, "createDefaultKeySelectionManager", 
+function () {
+return Clazz.innerTypeInstance (javax.swing.JComboBox.DefaultKeySelectionManager, this, null);
+});
+Clazz.defineMethod (c$, "paramString", 
+function () {
+var selectedItemReminderString = (this.selectedItemReminder != null ? this.selectedItemReminder.toString () : "");
+var isEditableString = (this.$isEditable ? "true" : "false");
+var lightWeightPopupEnabledString = (this.lightWeightPopupEnabled ? "true" : "false");
+return Clazz.superCall (this, javax.swing.JComboBox, "paramString", []) + ",isEditable=" + isEditableString + ",lightWeightPopupEnabled=" + lightWeightPopupEnabledString + ",maximumRowCount=" + this.maximumRowCount + ",selectedItemReminder=" + selectedItemReminderString;
+});
+c$.$JComboBox$DefaultKeySelectionManager$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+Clazz.instantialize (this, arguments);
+}, javax.swing.JComboBox, "DefaultKeySelectionManager", null, javax.swing.JComboBox.KeySelectionManager);
+Clazz.overrideMethod (c$, "selectionForKey", 
+function (a, b) {
+var c;
+var d;
+var e = -1;
+var f = b.getSelectedItem ();
+var g;
+var h;
+if (f != null) {
+for (c = 0, d = b.getSize (); c < d; c++) {
+if (f === b.getElementAt (c)) {
+e = c;
+break;
+}}
+}h = ("" + a).toLowerCase ();
+a = h.charAt (0);
+for (c = ++e, d = b.getSize (); c < d; c++) {
+var i = b.getElementAt (c);
+if (i != null && i.toString () != null) {
+g = i.toString ().toLowerCase ();
+if (g.length > 0 && g.charAt (0) == a) return c;
+}}
+for (c = 0; c < e; c++) {
+var i = b.getElementAt (c);
+if (i != null && i.toString () != null) {
+g = i.toString ().toLowerCase ();
+if (g.length > 0 && g.charAt (0) == a) return c;
+}}
+return -1;
+}, "~S,javax.swing.ComboBoxModel");
+c$ = Clazz.p0p ();
+};
+c$.$JComboBox$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing, "JComboBox$1", null, javax.swing.event.AncestorListener);
+Clazz.overrideMethod (c$, "ancestorAdded", 
+function (event) {
+this.b$["javax.swing.JComboBox"].hidePopup ();
+}, "javax.swing.event.AncestorEvent");
+Clazz.overrideMethod (c$, "ancestorRemoved", 
+function (event) {
+this.b$["javax.swing.JComboBox"].hidePopup ();
+}, "javax.swing.event.AncestorEvent");
+Clazz.overrideMethod (c$, "ancestorMoved", 
+function (event) {
+if (event.getSource () !== this.b$["javax.swing.JComboBox"]) this.b$["javax.swing.JComboBox"].hidePopup ();
+}, "javax.swing.event.AncestorEvent");
+c$ = Clazz.p0p ();
+};
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareType (javax.swing.JComboBox, "ComboBoxActionPropertyChangeListener", javax.swing.ActionPropertyChangeListener);
+Clazz.overrideMethod (c$, "actionPropertyChanged", 
+function (a, b, c) {
+if (javax.swing.AbstractAction.shouldReconfigure (c)) {
+a.configurePropertiesFromAction (b);
+} else {
+a.actionPropertyChanged (b, c.getPropertyName ());
+}}, "javax.swing.JComboBox,javax.swing.Action,java.beans.PropertyChangeEvent");
+c$ = Clazz.p0p ();
+Clazz.declareInterface (javax.swing.JComboBox, "KeySelectionManager");
+Clazz.defineStatics (c$,
+"$uiClassID", "ComboBoxUI");
+});