JComboBox

26 respostas
Veneno

Eai galera…
gostaria de saber como carregar um JComboBox …
se alguem souber vlw…
:thumbup:
abraço

26 Respostas

RegisFurtado

o que vc quer dizer com carregar ???

preencher a combo com dados do banco ?
ou preencher a combo com dados criados por você ?

Veneno

isso isso …
com Dados que eu tenho no banco …
vlw…

RegisFurtado
void combo()
	{
		[nomeDaCombo].removeAllItems();
		
		try
		{
			[nomeDaCombo].addItem("");
			
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
			conn = DriverManager.getConnection("jdbc:odbc:[suaFonteDeDados]","","");
			st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
			rec= st.executeQuery("select * from [nome da sua table]");
			rec.first();
			do
			{
				[nomeDaCombo].addItem(rec.getString(2));
				
			}while (rec.next());
		}
		catch(Exception erro)
		{
			erro.printStackTrace();
			JOptionPane.showMessageDialog(null, "Erro ao preencher [nomeDaCombo]");
		}
	}

Ae Veneno… é isso ae, se der algum error ou se vc não entender algo é só perguntar porque criei agora esse método e posso ter esquecido de algo…

Valeu! 8)

RegisFurtado

ahhh me esqueci…

eu tenho invoco o método dentro do initialize

private void initialize() 
{
      combo();
}
cassio

passa um array de objetos (pode ser Strings) para o construtor do JComboBox

String menu[] = { "opcao 1", "opcao 2", "opcao 3"};
JComboBox combo = new JComboBox(menu);

Abraço!

RegisFurtado

cassio ,

Desta maneira não da para pegar os dados cadastrados no banco e inserir na combo certo? desse modo vc insere dados definidos por vc num é ?

Veneno

O Regis ..
tah dando um erro, eu nao entendi o começo rs ...
vlw veio.... tah assim

private void initialize() 
 {
    void combo(){
 
	

 	
 		COMBO.removeAllItems();
 		
 		try
 		{
 			COMBO.addItem("");
 			
 			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
 			conn = DriverManager.getConnection("jdbc:odbc:Banco","","");
 			st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 			rec= st.executeQuery("select * from Cliente");
 			rec.first();
 			do
 			{
 				COMBO.addItem(rec.getString(2));
 				
 			}while (rec.next());
 		}
 		catch(Exception erro)
 		{
 			erro.printStackTrace();
 			JOptionPane.showMessageDialog(null, "Erro ao preencher COMBO");
 		}
 	}
abraço.. :D
RegisFurtado

qual error que deu ?

Veneno

illegal start of expression

no void combo(){

RegisFurtado

acho que você fez confusão…

na sua classe tem o método

private void initialize()

{

com as suas declarações( no caso combo(); )

}

correto ?

fora do metodo initialize()

no corpo da sua classe voce deve criar o método

combo()
{


**


**
}

e vc somente invoca o metodo dentro do initialize() para que assim que seja iniciada a aplicação a combo seja preenchida.

Veneno

ah sim agora entendi rsrs…
Regis … onde eu coloco esses metodos ??
tenho uma classe Banco com os comandos SQL qeu guardo no banco…
uma classe Tela …
uma de conexão
e uma Cliente com os atributos …

vlw veio…

RegisFurtado

eu coloco na tela…

RegisFurtado

eae funcionou ???

Veneno

soh ta dando erro no rec agora veio …
tipo, eu declaro ele como o que ???

RegisFurtado
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.text.ParseException;

depois declara… acho que é só

private ResultSet rec;

private Statement st;

private Connection conn;
Veneno

Deu certo sumiram todos os erros …rsrs =]]
soh q no ComboBox não carrego os itens do banco
tem q fazer alguma coisa ???
indicar o drive …

RegisFurtado

Verifique se suas conexões com o banco estão todas corretas… todos os drivers especificados corretamente…

verifique se seu set está desse modo

public boolean setCombo(Object combo)

   {
        if(!combo.equals(""))
        {
            this.combo= (String) combo;
            return true;
        }
        else
        {
            return false;
        }
    }
Veneno

Nossa eu nao tinha esse set…
esse set pod ser posto em qqr lugar da tela …
esse objeto combo q ta no set … me confundiu … eh o do metodo combo …??

RegisFurtado

não… esse set é o da minha controladora… ele fica na classe onde declaro as variaveis e faço os métodos GET e SET…

cassio

RegisFurtado:
cassio ,

Desta maneira não da para pegar os dados cadastrados no banco e inserir na combo certo? desse modo vc insere dados definidos por vc num é ?

Claro, este é somente um exemplo de como passar uma lsita de itens para o construtor do combobox.
Para o caso do banco vc poderia criar o combobox vazio, varrer o ResultSet e ir adicionando cada item…

Abraço!

RegisFurtado

ae verifica se vc tem dados gravados no seu banco…

e se o método está OK, provalvelmente deve ser algum detalhe que passou despercebido por nos…

espero te ajudado com o conteudo que lhe passei, vou sair … só volto amanhã 8:00 da manhã

abraço…

até a próxima

Veneno

Po cara vc ajudou e muito …
deu certinhooo …
vlw Regis …
abraço …

Veneno

Eai galera …ble ??
no meu ComboBox ta aparecendo o nome …
e eu to fazendo o seguinte comando pra que ele preencha o meu JTextField Nome

Nome1.setText(String.valueOf(busca.getSelectedItem()));

Como eu faço pra preecher os outros campos … tipo endereço …
se alguem tiver alguma ideia … vlw

Veneno

Tipo alguem sabe como faz pra no ComboBox ficar soh o nome e apartir do nome chamar os outro capos … e colocar no JTextField ???
abraço …

Veneno

Tipo alguem sabe como faz pra no ComboBox ficar soh o nome e apartir do nome chamar os outro campos … e colocar no JTextField ???
abraço …

Veneno

Alguem sabe???

Criado 1 de novembro de 2006
Ultima resposta 7 de nov. de 2006
Respostas 26
Participantes 3