aun cambiando esa linea me seguia sin mostrar la tabla,excepcion no salia ninguna.lo que pasaba es que no me creaba la tabla ni la rellenaba.
he cambiado el codigo y ahora lo que hago es esto otro:
Código PHP:
public class frame2 extends JFrame{
public static MiModelo modelo = new MiModelo();
public static JFrame ventana;
public static JTable tabla= new JTable(modelo);
/* public static void main(String []args) {
ventana = new JFrame();
ventana.setSize(500, 500);
ventana.setVisible(true);
ventana.add(tabla);
cargarTablas();
}*/
public static void cargarTablas(){
// System.out.println("estoy cargando las tablas");
//columnas de la tabla
modelo.addColumn("IP");
modelo.addColumn("Puerto");
modelo.addColumn("Numero Errores Crc");
modelo.addColumn("Numero Errores Late Coll");
modelo.addColumn("Ultima fecha Reinicio (dias)");
try
{ //conexion a la base de datos
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/conexion","user", "pass");
java.sql.Statement s = conexion.createStatement();
//consulta a la base de datos
ResultSet rs = s.executeQuery ("select ip,numPuerto,eTotalCrc,eTotalLateColl,fechaReinicio from errores");
java.sql.ResultSetMetaData metaDatos= rs.getMetaData();
//obtengo el numero de columnas
int numeroColumnas= metaDatos.getColumnCount();
//creo el array de etiquetas para rellenar
Object[] etiquetas=new Object[numeroColumnas];
//obtengo cada una de las etiqueras para cada columna
for(int i=0;i<numeroColumnas;i++){
//etiquetas[i]=metaDatos.getColumnLabel(i+1)+"(dias)";
switch (i){
case 0: etiquetas[i]="IP";break;
case 1: etiquetas[i]="Puerto";break;
case 2: etiquetas[i]="Errores Crc";break;
case 3: etiquetas[i]="Errores LateColl";break;
case 4: etiquetas[i]="Fecha Ultimo Reinicio (dias)";break;
}
}
//añado la fila de enunciado a la tabla
modelo.addRow(etiquetas);
//relleno las filas de las tablas
Object[] fila=new Object[5];
while (rs.next())
{
fila[0]=rs.getString ("ip");
fila[1]=rs.getString ("numPuerto");
fila[2]=rs.getString("eTotalCrc");
fila[3]=rs.getString("eTotalLateColl");
fila[4]=rs.getString("fechaReinicio");
//System.out.println("introduciendo"+fila[0]+" "+fila[1]+" "+fila[2]+" "+fila[3]+" "+fila[4]);
modelo.addRow(fila);
}
}catch (Exception e){e.printStackTrace();}
}
public static void borrar(){
while(modelo.getRowCount()>0)
modelo.removeRow(0);
}
}//end class
y la llamada es:
frame2.borrar();
frame2.ventana = new JFrame();
frame2.ventana.setSize(500, 500);
frame2.ventana.setVisible(true);
frame2.ventana.add(frame2.tabla);
frame2.cargarTablas();
ahora tengo el problema de que nose como borrar las columnas ya que si doy varias veces seguidas al boton que me crea esta
tabla me inserta 4 columnas cada vez :S