Pessoal, estou tentando popular o ComboBox, com os dados que vem do Banco de dados. Tenho o seguinte metodo de consulta.
[code]public ArrayList combocurso() throws SQLException{
ArrayList<Cursos> listar = new ArrayList<>();
stmt = connection.createStatement();
resultset = null;
try {
PreparedStatement sql = connection.prepareStatement("SELECT * FROM Cursos");
resultset = sql.executeQuery();
while(resultset.next()){
Cursos curso = new Cursos();
curso.setCursos(resultset.getString("Cursos"));
listar.add(curso);
}
} catch (SQLException e) {
}
return listar;
}[/code]
Esse metodo me traz o que eu quero,que é só os Cursos.
A minha dificuldade é em atribuir esse metodo no ComboBox.
Ja tentei de varias formas e nao consegui.
Tem como me darem uma Luz?? :roll:
Por exemplo o que voce quer passar para o Jcombo ? o Array list ou com as opções de curso ?
passa o Arraylist pro JComboBox por exemplo
ArrayList<String> mes = new ArrayList<String>();
mes.add("Janeiro");
mes.add("Fevereiro");
mes.add("Março");
mes.add("Abril");
mes.add("Maio");
mes.add("Junho");
mes.add("Julho");
mes.add("Agosto");
mes.add("Setembro");
mes.add("Outubro");
mes.add("Novembro");
mes.add("Dezembro");
for (int x = 0; x < mes.size(); x++) {
} // for para imprimir os items do Array dentro do combobox
JComboBox comboMes = new JComboBox(mes.toArray());// passando o Arraylist para o Combobox
montaDia.add(lMes);
montaDia.add(comboMes);
//montaDia e meu metodo de montar as datas dos meus JComboBox
return montaDia;
}
}
eu fiz assim ve se ajuda nao sei se e a melhor forma,
mas voce pode jogar todos os cursos que voce tem dentro do
ArrayList<Cursos> listarCursos = new ArrayList<Cursos>();
pegando eles do Banco de dados e adicionar ele ao seu ComboBox
Cara eu ja tenho o Array, que venho com os dados do banco de dados, se eu coloco para imprimir esse Array, aparece o que eu quero.
Mas não estou conseguindo colocar esse array no jComboBox.
Meu metodo ficou assim
[code]public void combo() throws SQLException{
UsuarioDAO dao = new UsuarioDAO();
dao.combocurso();
ArrayList listar = dao.combocurso(); //O Array listar Ja tem Todos Os dados que preciso.
jComboCurso.addItem(listar);//tentando adicionar o Array no ComboBox
//Chamo esse metodo combo() no metodo principal.[/code]
da o seguinte erro
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at erp.JFCad_turma.jComboCursoActionPerformed(JFCad_turma.java:441)
at erp.JFCad_turma.access$100(JFCad_turma.java:22)
at erp.JFCad_turma$2.actionPerformed(JFCad_turma.java:135)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260)
at javax.swing.JComboBox.contentsChanged(JComboBox.java:1331)
at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
at javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:132)
at javax.swing.JComboBox.addItem(JComboBox.java:718)
at erp.JFCad_turma.combo(JFCad_turma.java:42)
at erp.JFCad_turma.<init>(JFCad_turma.java:34)
at erp.JFCad_turma$6.run(JFCad_turma.java:505)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Faz isso na criação do seu comboBox
JComboBox comboCurso = new JComboBox(listar.toArray());
ai quando seu metodo montaTela, montaCombobox sei la
adicionar o
montaTela.add(comboCurso);
automaticamente o comboCurso ja vai conter o Array dentro dele,
1 curtida
Nao tenho MontaTela, nem MontaComboBox, eu criei ele pelo Swing, visualmente, não por código.
e quando implemento JComboBox comboCurso = new JComboBox(listar.toArray());
no “Personalizar Código” da erro.
ai me pegou rs, da uma olhada nisso , mas como voce nao fez na unha fica meio fod4
da uma olhada no meu projeto no gitHub
fiz tudo na unha entao da pra aprender bem mais
https://github.com/gusthavosouza/swing-jdbc-agenda-java
http://docs.oracle.com/javase/tutorial/uiswing/layout/spring.html
Até apareceu os dados. com o seguinte método:
[code] public void combo() throws SQLException{
UsuarioDAO dao = new UsuarioDAO();
dao.combocurso();
List<Cursos> listar = dao.combocurso();
for( Cursos curso: listar ){
jComboCurso.addItem( curso );
}
}[/code]
Mas nao da para escolher as outras opção que aparecem. Ex:Aparece la, item1, item2, item3.
Mas quando clico em Item3, ele nao seleciona, fica aparecendo o item1