package ExV; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class MyJComboBox extends JComboBox { /** Creates new form MyJComboBox */ public MyJComboBox() { initComponents (); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the FormEditor. */ private void initComponents () {//GEN-BEGIN:initComponents }//GEN-END:initComponents boolean ignoreChange = false; public String type; MyJComboBox (String type, ActionListener l, boolean editable){ super (); this .type = type; setEditable (editable); addActionListener (l); } public String getText (){ return (String) getSelectedItem (); } public void setText (String s){ ignoreChange = true; for (int i = 0; i < getItemCount (); i++){ if (getItemAt (i) .equals (s)){ setSelectedIndex (i); ignoreChange = false; return; } } addItem (s); setSelectedIndex (getItemCount ()-1); ignoreChange = false; } protected void selectedItemChanged (){ if (!ignoreChange){ super .selectedItemChanged (); //System.out.println ("New item is:" + getSelectedItem ()); } } }