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 );