texto pasar objetos llenar con archivo anidados java swing arraylist jcombobox

pasar - llenar jcombobox java mysql



¿Cómo puedo rellenar un JComboBox con un ArrayList? (8)

Necesito rellenar un JComboBox con un ArrayList. ¿Hay alguna manera de hacer esto?


Al combinar las respuestas existentes ( esta y esta ), la forma segura y correcta de agregar una ArrayList a un JComboBox es la siguiente:

private DefaultComboBoxModel<YourClass> getComboBoxModel(List<YourClass> yourClassList) { YourClass[] comboBoxModel = yourClassList.toArray(new YourClass[0]); return new DefaultComboBoxModel<>(comboBoxModel); }

En su código GUI , establece la lista completa en su JComboBox siguiente manera:

DefaultComboBoxModel<YourClass> comboBoxModel = getComboBoxModel(yourClassList); comboBox.setModel(comboBoxModel);


Creo que puedes crear un nuevo Vector usando tu ArrayList y pasárselo al Constructor JCombobox.

JComboBox<String> combobox = new JComboBox<String>(new Vector<String>(myArrayList));

Sin embargo, mi ejemplo es sólo cadenas.


No me gusta la respuesta aceptada o el comentario de @fivetwentysix sobre cómo resolver esto. Obtiene un método para hacer esto, pero no da la solución completa para usar toArray. Debe usar toArray y darle un argumento que sea una matriz del tipo y tamaño correctos para que no termine con una matriz de objetos. Si bien una matriz de objetos funcionará, no creo que sea la mejor práctica en un lenguaje fuertemente tipado.

String[] array = arrayList.toArray(new String[arrayList.size()]); JComboBox comboBox = new JComboBox(array);

Alternativamente, también puede mantener una escritura fuerte con solo usar un bucle for.

String[] array = new String[arrayList.size()]; for(int i = 0; i < array.length; i++) { array[i] = arrayList.get(i); } JComboBox comboBox = new JComboBox(array);


Una forma elegante de rellenar el cuadro combinado con una lista de matrices :

List<String> ls = new ArrayList<String>(); jComboBox.setModel(new DefaultComboBoxModel(ls.toArray()));


creo que esa es la solución

ArrayList<table> libel = new ArrayList<table>(); try { SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); String hql = "FROM table "; org.hibernate.Query query = s.createQuery(hql); libel= (ArrayList<table>) query.list(); Iterator it = libel.iterator(); while(it.hasNext()) { table cat = (table) it.next(); cat.getLibCat();//table colonm getter combobox.addItem(cat.getLibCat()); } s.getTransaction().commit(); s.close(); sf.close(); } catch (Exception e) { System.out.println("Exception in getSelectedData::"+e.getMessage());


Revisa este código simple

import java.util.ArrayList; import javax.swing.JComboBox; import javax.swing.JFrame; public class FirstFrame extends JFrame{ static JComboBox<ArrayList> mycombo; FirstFrame() { this.setSize(600,500); this.setTitle("My combo"); this.setLayout(null); ArrayList<String> names=new ArrayList<String>(); names.add("jessy"); names.add("albert"); names.add("grace"); mycombo=new JComboBox(names.toArray()); mycombo.setBounds(60,32,200,50); this.add(mycombo); this.setVisible(true); // window visible } public static void main(String[] args) { FirstFrame frame=new FirstFrame(); } }


Use el método toArray() de la clase ArrayList y páselo al constructor de JComboBox

Consulte el JavaDoc y el tutorial para obtener más información.


DefaultComboBoxModel DLM = new DefaultComboBoxModel(); for (int i = 0; i < <ArrayList>.size(); i++) { DLM.addElement(<ArrayList>.get(i).getField()); } <ComboBoxName>.setModel(DLM);

Código comprensible. Edite <> según sea necesario.