valor obtener llenar item eventos elementos datos agregar java swing jcombobox

java - obtener - Cambia dinĂ¡micamente JComboBox



jcombobox model (4)

Estoy obteniendo los valores de datos de la base de datos con éxito. También los he almacenado en una matriz String[] . Necesito cargar la matriz String como los elementos de JComboBox en respuesta a la acción clave realizada. ¿Cómo puedo volver a cargar los elementos de JComboBox cada vez que se presiona una tecla, ya que los valores obtenidos dependen de la tecla presionada. Simplemente, necesito actualizar dinámicamente los elementos de JComboBox .


Esta es la demostración para ilustrar el modelo de cuadro combinado predeterminado

public class ComboPanel extends JPanel { JComboBox jcbo; // this is constructor public ComboPanel(ArrayList<String> items) { jcbo = new JComboBox(); // getting exiting combo box model DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel(); // removing old data model.removeAllElements(); for (String item : items) { model.addElement(item); } // setting model with new data jcbo.setModel(model); // adding combobox to panel this.add(jcbo); } }

Espero que esto ayude poco :)


También funciona sin DefaultComboBoxModel ...

JComboBox op=new JComboBox(new String[] {"d","e","f"}); op.removeAllItems(); String[] new_entries=new String[] {"a","b","c"} for (String s : new_entries) { op.insertItemAt(s, op.getItemCount()); } op.setSelectedIndex(0);

Adivina qué valores verás ...


Tienes unas cuantas opciones. Puede usar removeAllItems() (o uno de los otros métodos de eliminación) y addItem(Object anObject) para manipular los objetos seleccionables. O podría implementar un ComboBoxModel y permitirle que brinde datos desde su matriz.


DefaultComboBoxModel model = new DefaultComboBoxModel( yourStringArray ); comboBox.setModel( model );