Boa noite a todos! Galera estou passando um problema aqui com um Jcombobox, já pesquisei e tentei de várias maneiras, mas o negócio não anda.
Se alguém pode mim ajuda agradeço.
Seguinte, tenho uma tela onde tenho um JTable onde carrega dados do banco de dados, onde nessa mesma tela tenho os JtextField, que ao clicar na linha da tabela os dados são carregados para os JTextField, até ai tudo beleza. Só que tenho um combobox que ele não seta com o valor selecionado.
Segue o códigos:
Classe do ModelCombobox
package model.usuario;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ComboBoxModel;
import javax.swing.event.ListDataListener;
import control.ConnectionFactory;
public class BoxModelUserTipo implements ComboBoxModel{
private Connection connection;
ArrayList<String> tipo = new ArrayList();
String selected_item = null;
public BoxModelUserTipo(){
this.connection = new ConnectionFactory().getConnection();
try{
PreparedStatement stmt = connection.prepareStatement("select nome from tipouser"); //Esse select deve trazer apenas uma coluna para facilitar.(coluna q vai no Combobox)
ResultSet rs = stmt.executeQuery();
while(rs.next()){
tipo.add(rs.getString("nome")); //adiciona no arraylist todos os itens selecionados
}
try{
//tenta selecionar o primeiro item do array
selected_item = tipo.get(0);
}catch(Exception ex){
ex.printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
//trate sua exeção
}
}
public void setSelectedItem(Object anItem) {
selected_item = tipo.get(tipo.indexOf(anItem));
}
public void setSelected(Tipo anItem) {
selected_item = tipo.get(tipo.indexOf(anItem));
}
public Object getSelectedItem() {
return selected_item;
}
public int getSize() {
return tipo.size();
}
public Object getElementAt(int index) {
return tipo.get(index);
}
public void addListDataListener(ListDataListener l) {
//TO DO NOTHING
}
public void removeListDataListener(ListDataListener l) {
//TO DO NOTHING
}
}
Preenchendo combobox:
private JComboBox jbTipo;
jbTipo = new JComboBox(new BoxModelUserTipo()); //preenche com os dados do banco de uma tabela, tipo como se fosse uma categorias
Segue o trecho do código do evento:
tfNome.setText(usuario.getNome()); //esta ok!
tfUserNome.setText(usuario.getUsuario()); //esta ok!
tfEmail.setText(usuario.getEmail()); //esta ok!
System.out.println(usuario.getTipo()); //teste para saber se esta buscando dados (esta ok!)
jbTipo.setSelectedItem(usuario.getTipo());
Qualquer ajuda é bem vinda!