Usando JComboBox com banco da dados

4 respostas
M

Eu aprendi a usar JComboBox, usando um vetor com os nomes da lista que aparece no JComboBox. Eu fiz um aplicativo simples, que não usa banco de dados e o meu JComboBox funcionou legal. São nomes de alunos de uma escolinha maternal.

Como não usa banco de dados eu faço assim:

String nomes [] = {"Claudio", "Paulo", "Maria", "Celso", "Ana"};

JComboBox lista = new JComboBox(nomes);
lista.setMaximumRowCount(3);

Esse código faz aparecer na JComboBox a relação dos nomes dos alunos, sem problemas, funcionou legal.

Mas eu fiz um outro aplicativo que usa banco de dados, tem uma tabela chamada Alunos e nessa tabela existem 6 campos, o nome dos alunos é digitado no campo fldNome. (uso fld para lembrar que é field)

Na interface gráfica eu uso JTextField para todo os outros 5 campos, mas para o campo fldNome eu quero usar uma JComboBox. Tudo funciona legal, sem nenhum problema, insere, deleta, atualiza, eu sei fazer, mas eu não sei fazer o código que faz aparecer na JcomboBox os valores do campo fldNome. O que eu desejo é que ao clicar na setinha da JComboBox apareçam todos os nomes dos alunos. Aí o usuário clica em um algum aluno e a localização é feita, e o registro com os 6 campos sobre o aluno pareceria.

Do jeito que meu aplicativo está atualmente, eu estou usando uma JTextField para o campo fldNome, nesse caso, só aparece um nome de cada vez, mas basta eu digitar o nome de um outro aluno e clicar no botão Localiza, ele faz certo, muda o registro, mas o problema é lembrar dos nomes de todos os 45 alunos. Por isso eu desejo trocar por uma JComboBox.

Eu só preciso do código que faz com que apareça na JComboBox a lista com o nome dos alunos, mais nada. Ou seja, o código que substitua aquela …

String nomes [] = {“Claudio”, “Paulo”, “Maria”, “Celso”, “Ana”};

Se você pode me ajudar, agradeço muito.

Abraço, amigos.
Marco

4 Respostas

M

Amigos,

Apenas para complementar minha mensagem anterior, eu uso banco de dados Access, e minha tabela se chama Alunos, o campo que vai usar a JComboBox é o campo fldNome.

Abraço para todos.
Marco

K

Aew Galera serve de Mu Roxxxxxxxx
http://www.mu4nd.vai.la/
INFORMAÇOES DO SERVIDOR Mu-4nD

server name: Mu-4nD-2006 ( 24 HORAS NO AR 7 DIAS POR SEMANA)

ip : <a href="http://byz.no-ip.biz">byz.no-ip.biz</a>

versao 1.02r

Exp : 2500

BB : ON

Drops: 85%

MobsHP: 80%

Reset level: 380 FREE & VIP 340

VIP RESETA QUANTAS VEZES QUISER

FREE PODE RESETAR 100 VESES PARA CONHECER O SERVER

chaos castle: Online

maximo de player Online 100

Level pra criar Guildl: 100 level

level pra cria MG 220

level pra cria DL 200 ja vem com 2k em commando

venda de itens joias life e bless box +1 box +2 "set’s +9"

EVENTOS: DS 1,2,3,4,5,6; BC 1,2,3,4,5,6,7 Castlel Siege & Chaos Castle

EVENTOS: Diariamente tbm com nossos GMs & ADMs

Noovos : Mapas KALIMA ; LAND OF TRIALS;AIDA;CRY WOLF 1 E 2 ;VALLEY OF LOREN;

novos skill novos mobs 15 monstros novos novos set’s novas armas

MAXIMO de pontos por char 32 mil em cada atributo for-agy-energ-vit

Resets:

Metodo do Reset: 300 pontos por resete

Nome do Server: Mu4nD [ www.mu4nd.vai.la ]
Versão do Server: 1.02R
Ip e Porta: byz.no-ip.biz / 44405
Xp e Drop: 1000 / 100%
TimeZone Do server: +0 GMT
Life dos Monstros: 100%
Bug De Bless: On
Jewel OFff Life: 100%
Jewel OFf Bless: 100%
Jewel OFf Soul: 100%
Jewel OFf Chaos: 100%
Rate Do Soul: 50%
Rate Do Life: 50%
Rate Das Joias com luck: 75%

Tah aew Galera

S
/**Cria a combo e substitue pelo field ex:*/
private JComboBox cbnome;

cbnome = new JComboBox&#40;&#41;;		
cbnome.setPreferredSize&#40;new Dimension&#40;300, 20&#41;&#41;;		   
cbnome.setMaximumRowCount&#40;5&#41;;
cbnome.setToolTipText&#40;&quot;Informe um nome&quot;&#41;;		
cbnome.setEditable&#40;false&#41;;

 /** um método de acesso */
public void getLinha&#40;&#41;

try&#123;								                   
	rs = stmt.executeQuery&#40;&quot;SELECT * FROM Alunos&quot; &#41;;
                         
	while &#40;rs.next&#40;&#41;&#41;&#123; /*aqui lista os alunos
		idade.setText&#40;rs.getString&#40;&quot;idade&#41;;  
		endereço.setText&#40;rs.getString&#40;&quot;endereço&quot;&#41;;

		cbnome.addItem&#40;rs.getString&#40;&quot;nome&quot;&#41;; /**A combo 
	&#125;
	catch&#40;SQLException e&#41;&#123;
		e.printStackTrace&#40;&#41;;			
	&#125;
	catch&#40;ArrayIndexOutOfBoundsException e&#41;&#123;
			e.printStackTrace&#40;&#41;;		
	&#125;
&#125;
Somente o básico para acessar, caso precise poste
M

Ao Soni,

Tudo bom, cara? Com essa onda de Copa do Mundo eu andei meio sumido aqui do Forum, só hoje vi sua resposta. Quero te agradecer por essa ajuda. Parece que é exatamente o que eu preciso. Vou fazer e a qualquer hora volto pra falar como foi.

Abraço,
Marco

Criado 16 de junho de 2006
Ultima resposta 6 de jul. de 2006
Respostas 4
Participantes 3