Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2010, 13:36
Myless
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 2
Ayuda con JTable y MySQL

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!