Hola, estoy intentando mostrar los resultados de una consulta en una JTable, pero no puedo. Miren, esto es lo que tengo:
La Tabla:
Código PHP:
CREATE TABLE PASAJERO (
nPasaje int Auto_Increment Primary Key NOT NULL,
nombre char(24) NOT NULL,
apellido char(24) NOT NULL,
edad int NOT NULL,
rut char(12) NOT NULL,
nContacto char(12) NOT NULL,
origen char(28) NOT NULL,
destino char(28) NOT NULL
);
En la clase DAO tengo este metodo:
Código PHP:
public List<Pasajero> getListaPasajeros()
{
try
{
String sql = "SELECT * FROM PASAJERO";
Statement sentencia = conexion.createStatement();
ResultSet rs = sentencia.executeQuery(sql);
List<Pasajero> listaPasajero = new ArrayList<Pasajero>();
Pasajero aux = null;
while( rs.next() )
{
aux = cargarPasajero(rs);
listaPasajero.add(aux);
}
return listaPasajero;
}
catch(SQLException e)
{
System.err.println("Se profujo una falla al consultar en la BD");
e.printStackTrace();
return null;
}
}
private Pasajero cargarPasajero (ResultSet rs) throws SQLException
{
Pasajero encontrado = new Pasajero();
encontrado.setnPasaje(rs.getInt("nPasaje"));
encontrado.setNombre(rs.getString("Nombre"));
encontrado.setApellido(rs.getString("Apellido"));
encontrado.setEdad(rs.getInt("Edad"));
encontrado.setRut(rs.getString("Rut"));
encontrado.setnContacto(rs.getString("NContacto"));
encontrado.setOrigen(rs.getString("Origen"));
encontrado.setDestino(rs.getString("Destino"));
return encontrado;
}
Y ps, en el MAIN:
Código PHP:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class VentanaPrincipal extends JFrame{
private JTable grilla;
private ModeloGrilla modelo;
private DAO d;
public VentanaPrincipal() {
super("Grilla Simple");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
inicializarComponentes();
this.pack();
this.setVisible(true);
}
private void inicializarComponentes(){
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
ArrayList<Pasajero> lista = generarLista();
modelo = new ModeloGrilla(lista);
grilla = new JTable(modelo);
JScrollPane scroller = new JScrollPane(grilla);
contentPane.add(scroller, BorderLayout.CENTER);
}
private ArrayList<Pasajero> generarLista() {
ArrayList<Pasajero> lista = new ArrayList<Pasajero>();
Pasajero libro1 = new Pasajero(new Integer(12), "Prueba", "Prueba", new Integer(28), "Prueba", "Prueba", "Prueba", "Prueba");
lista.add(libro1);
Pasajero libro2 = new Pasajero(new Integer(28), "Prueba", "Prueba", new Integer(12), "Prueba", "Prueba", "Prueba", "Prueba");
lista.add(libro2);
return lista;
}
}
Hasta ahi, puedo hacer que la JTable muestre datos en duro... pero no se como pasar la lista que me devuelve el metodo en el dao, a algo que la JTable pueda mostrar.
Ayuda please!