FileDocCategorySizeDatePackage
EditorComboBox.javaAPI DocExample2513Mon Nov 09 12:45:50 GMT 1998None

EditorComboBox

public class EditorComboBox extends JComboBox implements CellEditor

Fields Summary
String
value
Vector
listeners
private static final int
minWidth
Constructors Summary
public EditorComboBox(Object[] list)


  // mimic all of the constructors people expect with ComboBoxes
      
    super(list); 
    setEditable(false);
    value = list[0].toString();

    // listen to our own action events, so we know when to stop editing
    addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent ae) {
        if (stopCellEditing()) {
          fireEditingStopped();
        }
      }
    });
  
Methods Summary
public voidaddCellEditorListener(javax.swing.event.CellEditorListener cel)

    listeners.addElement(cel);
  
public voidcancelCellEditing()

 
protected voidfireEditingStopped()

    if (listeners.size() > 0) {
      ChangeEvent ce = new ChangeEvent(this);
      for (int i = listeners.size() - 1; i >= 0; i--) {
        ((CellEditorListener)listeners.elementAt(i)).editingStopped(ce);
      }
    }
  
public java.lang.ObjectgetCellEditorValue()

    return value; 
  
public booleanisCellEditable(java.util.EventObject eo)

    if ((eo == null) || 
        ((eo instanceof MouseEvent) && (((MouseEvent)eo).isMetaDown()))) {
      return true;
    }
    return false;
  
public voidremoveCellEditorListener(javax.swing.event.CellEditorListener cel)

    listeners.removeElement(cel);
  
public voidsetBounds(java.awt.Rectangle r)

    r.width = Math.max(minWidth, r.width);
    super.setBounds(r);
  
public voidsetBounds(int x, int y, int w, int h)

    w = Math.max(minWidth, w);
    super.setBounds(x, y, w, h);
  
public booleanshouldSelectCell(java.util.EventObject eo)

 return true; 
public booleanstopCellEditing()

    try {
      value = (String)getSelectedItem();
      if (value == null) { value = (String)getItemAt(0); }
      return true;
    }
    catch (Exception e) {
      // something went wrong
      return false;
    }