Setar dados em um jcombobox

7 respostas
marinhoss

Pessoal, este é o meu primeiro (de muitos) pedidos de help aqui no forum.
O meu problema é o seguinte: Estou desenvolvendo um sistema, onde preciso setar um jcombobox o resultado de uma consulta feita no banco de dados através de uma instrução sql, sendo que o BD é o mysql.
Tipo assim: select descricao from tipoequipamento e o resultado desta pesquisa preciso setar no jcombobox “tipoequipamento”.

Aproveitando, também garrei no seguinte item:

estou precisando realizar uma consulta no BD mysql, mas a variavel estou pegando de um campo de tempo, tipo assim :

string nr1 = nrserie.getText();
preciso fazer a consulta utilizando o valor que esta em nr1.

Desde já agradeço pelas respostas.

Marinho

7 Respostas

Eder_Peixoto

Olá Marinho, seja bem vindo ao fórum!

Qual seriam as suas dúvidas?

No primeiro caso, você selecionará no seu JComboBox o valor que foi retornado da sua pesquisa. Qual seria sua dúvida? Você não sabe como alterar o item selecionado em um JComboBox?

No segundo caso, qual seria o problema quanto à consulta?

Dê uma explicada melhor quanto às suas dúvidas.

marinhoss

Caro eder, vou procurar ser mais claro.

no banco de dados eu tenho uma tabela que é alimentada por outra tela onde cadastro/edito edito os tipos de equipamentos disponiveis.

na tela onde o funcionario “apanha” os materiais para trabalhar durante o seu turno de serviço, o operador ira escolher quais os tipos este funcionario ira levar atraves de um jcombobox, então para alimentar este jcombobox estou realizando uma consulta sql conforme citado anterior e o resultado desta consulta eu preciso setar no jcombobox.

na segunda questão o operador ira digitar a matricula do funcionario que esta pegando os materiais para ir trabalhar, sendo que preciso verificar no banco de dados, tabela funcionarios se este funcionario a situação deste funcionario.

espero ter conseguido explicar.

Marinho

Eder_Peixoto

1º Situação

  • Faça seu SELECT no banco de dados e armazene o resultado em um objeto;
  • Com os dados obtidos e armazenados numa variável (por exemplo numa List), altera os objetos da camada Model do JComboBox;
  • Caso seja necessário, tembém pode ser conveniente implementar um renderizador (Renderer) para o JComboBox.

2º Situação

  • O que entende-se por situação do funcionário?
  • Para isso será necessário realizar um SELECT para obter alguma informação do banco de dados;
  • Provavelmente você analizará os dados obtidos para verificar a situação do funcionário.

Dica: se você não conhece bem como funciona o JComboBox, te aconselho a dar uma estudada sobre ele antes de utilizá-lo. O bom entendimento sobre o seu funcionamento facilita muito o seu trabalho.

marinhoss

Eder,

mais uma vez muito obrigado pelas orientações, estarei implementando.
quanto ao jcombobox, você poderia me indicar algum material para estudo e melhor compreenção deste importante recurso.

att,

Marinho

Eder_Peixoto

Não tenho material para lhe indicar, mas procure no Google pelos seguintes assuntos, todos vinculados a JComboBox:

Camada Model: responsável por armazenar os objetos a serem apresentados no JComboBox;

Renderizador: responsável por apresentar ao usuário os objetos armazenados na camada model;

Editor: responsável por mostrar um Component ao usuário, para que possa editar os objetos armazenados na camada model.

Estude também sobre o JComboBox (camada View), que através do Model, Renderizador (Renderer) e Editor, permite a interação com o usuário. Além do que encontrar no Google, é sempre muito importantes ler a documentação.

É isso aí!

criador

http://java.sun.com/j2se/1.4.2/docs/api/

milarflores

Man um jeito de fazer a consulta agora só é setar lá no jcombobox

public class LayoutTelaEmbarcacao {

public String[] comboxEmbarcacaoCadastradas() {
    EmbarcacaoDAO dao = new EmbarcacaoDAO();
    ArrayList lista = dao.mostrarEmbarcacao();
    String[] aux = new String[lista.size()];
    int i = 0;
    for (Iterator it = lista.iterator(); it.hasNext();) {
        EmbarcacaoDTO e = (EmbarcacaoDTO) it.next();
        aux[i] = e.getNomeDaEmbarcacao();
        i++;
    }
    return aux;
}

}

Criado 1 de agosto de 2009
Ultima resposta 8 de nov. de 2009
Respostas 7
Participantes 4