Swing + db

Estou com dificuldade em fazer um vetor! no combo box . para que o valor cai_mod apareça no combo e apos eu clica no ok! apareça as informaçoes restante do db na janela!!

Se alguem tiver entendido da uma ajuda!! :oops:

[code]import java.awt.GridLayout;
import java.io.;
import java.sql.
;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Caixa {

static

JFrame janela = new JFrame();

static JPanel painel = new JPanel();

JLabel rotulo2 = new JLabel("Escolha uma modelo: ");
DefaultListModel listModel = new DefaultListModel();

JList lista = new JList(listModel);

static JComboBox combo = new JComboBox();

JButton botao = new JButton("OK");

public static void main(String args[]) throws SQLException {
	new Caixa();
	Connection conn = null;
	int i = 1;

	try {
		
		String driverName = "com.mysql.jdbc.Driver";

		Class.forName(driverName);

	
		String serverName = "172.16.27.168";
		String mydatabase = "vpaz";
		String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a
		
		String username = "vpaz";
		String password = "hneafsd9lce";
		conn = DriverManager.getConnection(url, username, password);

		System.out.println("Conectado!");

	} catch (ClassNotFoundException e) {
	
		System.out.println("O driver expecificado não foi encontrado.");

	} catch (SQLException e) {
	
		System.out.println("Não foi possível conectar ao Banco de Dados");
	}



	String sql = "SELECT * FROM caixa;";
	PreparedStatement stmt = conn.prepareStatement(sql);
	ResultSet rs = stmt.executeQuery();

	while (rs.next()) {

		JLabel label1 = new JLabel("Modelo " + i++ + ": "+ rs.getString("cai_mod"));
		JLabel label2 = new JLabel("Altura: " + rs.getString("cai_alt"));
		JLabel label3 = new JLabel("Largura: " + rs.getString("cai_lar"));
		JLabel label4 = new JLabel("Profundidade: "+ rs.getString("cai_pro"));
		JLabel label5 = new JLabel("Preço: " + rs.getString("cai_pre"));

		combo.add(label1);
		painel.add(label2);
		painel.add(label3);
		painel.add(label4);
		painel.add(label5);

	}

}

private Caixa() {
	


	janela.setTitle("Exemplo de um FlowLayout");

	janela.setSize(300, 200);

	janela.setLocation(50, 50);

	janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	painel.setLayout(new GridLayout(5, 1));


	painel.add(rotulo2);

	combo.addItem("");

	painel.add(combo);


	painel.add(botao);

	janela.add(painel);

	janela.setVisible(true);
}

}
[/code]