JComboBox em banco de dados

Eu estou usando um banco de dados Access, e no meu aplicativo eu desejo usar um JComboBox, para mostrar registro de um dos campos do banco de dados, o campo Nome. A tabela do meu banco de dados chama-se Alunos.

Os outros campos abrem em JTextField, sem problema, tudo funcionando numa boa. Mas eu não sei fazer o código que mostra na JComboBox a lista com os nomes dos alunos. Para o usuário clicar na setinha do JComboBox e abrir a lista com o nome de todos os alunos cadastrados.

Alguém pode me ajudar nisso? Agradeço muito qualquer ajuda, mesmo que seja com uma idéia apenas, mas se alguém souber fazer um código eu seria muito agradecido. Um abraço a todos.

Luca

Um exemplo:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class TesteCombo {
	
	public TesteCombo() {
		final JFrame frame = new JFrame("Teste Combo");
		frame.setLayout(new FlowLayout(FlowLayout.CENTER));
		
		// aqui voce deve buscar seus Alunos no banco de dados
		Aluno aluno1 = new Aluno(1, "Nome1");
		Aluno aluno2 = new Aluno(2, "Nome2");
		Aluno aluno3 = new Aluno(3, "Nome3");
		Aluno aluno4 = new Aluno(4, "Nome4");
		
		// percorra o ResultSet e adicione os Alunos no ArrayList
		List<Aluno> alunos = new ArrayList<Aluno>();
		alunos.add(aluno1);
		alunos.add(aluno2);
		alunos.add(aluno3);
		alunos.add(aluno4);
		
		// instancie o ComboBoxModel com o ArrayList
		final JComboBox comboLinhas = new JComboBox(alunos.toArray());
		
		// adicione um ActionListener ao JComboBox
		comboLinhas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ev) {
				// aqui voce pega o Aluno selecionado
				Aluno alunoSelecionado = (Aluno) comboLinhas.getSelectedItem();
				
				// ... e faz o que quiser com ele
				JOptionPane.showMessageDialog(frame,
						alunoSelecionado, "Teste Combo",
						JOptionPane.INFORMATION_MESSAGE);
			}
		});
		
		frame.getContentPane().add(comboLinhas);
		
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(200, 200);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
	
	public static void main(String[] args) {
		new TesteCombo();
	}
}

class Aluno {
	
	private int id;
	private String nome;
	
	Aluno(int id, String nome) {
		this.id = id;
		this.nome = nome;
	}
	
	public int getId() {
		return id;
	}

	public String getNome() {
		return nome;
	}

	// voce deve sobrescrever o metodo toString()
	public String toString() {
		return nome;
	}
}

Qualquer dúvida:
:arrow: Introdução ao JDBC
:arrow: How to Use Combo Boxes
:arrow: Class JComboBox

Matheus,

Tudo bem, cara? Quero agradecer a você sua ajuda excelente, eu não sabia muitas coisas que você fez nesse código e ele foi muito útil pra mim que estou iniciando, eu tenho um cadernão onde eu anoto as coisas sobre Java que vou aprendendo, e já coloquei esse código seu lá para utilizar em vários aplicativos que pretendo desenvolver. Te agradeço demais.

Mas parece que seu código não atende a minha necessidade desse aplicativo, porque pelo que entendi, eu tenho que colocar na lista cada nome de cada aluno, e cada vez que entrar um aluno novo, eu tenho que abrir o código fonte e incluir ese aluno novo. Aí fica difícil.

Eu desejava um código que mesmo que um aluno fosse incluido no banco de dados, automaticamente a lista da JComboBox se alterasse e incluisse esse novo registro.

Sua ajuda já foi muito grande, mas se você souber como faz isso, dá um toque , que eu tô precisando. Mais uma vez agradeço a você sua excelente colaboração, um abraço pra você.

Luca

Realmente ficaria difícil, mas o que estou sugerindo nos comentários do código é que você carregue os Alunos do banco de dados para inserir no JComboBox.
Para aprender como fazer isso, dê uma lida no capítulo 2 dessa apostila: http://www.caelum.com.br/caelum/apostila/caelum-java-web-fj21.pdf
Depois basta fazer algo como:

AlunoDAO dao = new AlunoDAO();
List<Aluno> alunos = dao.getList();
JComboBox comboAlunos = new JComboBox(alunos.toArray());

Basta ao incluir/excluir um Aluno no banco de dados, incluir/excluir também no JComboBox.
Neste caso, supondo que você já leu o capítulo 2 da apostila que passei acima e implementado seu AlunoDAO, basta fazer o seguinte:
Para incluir um Aluno no banco e no JComboBox.

AlunoDAO dao = new AlunoDAO();
dao.save(aluno);
comboAlunos.addItem(aluno);

Para excluir um Aluno do banco e do JComboBox.

AlunoDAO dao = new AlunoDAO();
dao.remove(aluno);
comboAlunos.removeItem(aluno);

Tente ler as referências que te passei no outro post e ler a apostila. Depois disso, tente fazer o que você está querendo e qualquer dúvida que surgir podemos tentar ajudá-lo.

Mathews,

Mais uma vez obrigado por sua ajuda, todas as duas dicas são excelentes para mim que estou ainda no início da Java. Acabo de ler nesse instante sua mensagem acima, vou lá ver essa apostila que você falou, vou tentar entender os ensinamentos e depois eu volto aqui pra te falar como foi. Mas, cara, agradeço demais sua colaboração, um abraço.

Luca