Foros del Web » Programación para mayores de 30 ;) » Java »

insertar filas a un jTable??????

Estas en el tema de insertar filas a un jTable?????? en el foro de Java en Foros del Web. Hola a todos, esto que parece, o deberia ser algo sencillo me esta rompiendo la cabeza. Busque en internet como agregar una fila a la ...
  #1 (permalink)  
Antiguo 06/07/2011, 08:44
 
Fecha de Ingreso: diciembre-2009
Mensajes: 115
Antigüedad: 14 años, 5 meses
Puntos: 0
insertar filas a un jTable??????

Hola a todos, esto que parece, o deberia ser algo sencillo me esta rompiendo la cabeza.
Busque en internet como agregar una fila a la tabla y lo que encuentro parece no aplicarse , aparentemente se hace jTable1.addRow pero ni siquiera me aparece el addRow al tratar la tabla en NetBeans.
Tengo una tabla con 0 filas (sin filas) y pretendo que se añada la cantidad de filas que traiga el resultado de la consulta a la DB.
Si pueden orientarme se los agradeceré muchísimo.
  #2 (permalink)  
Antiguo 06/07/2011, 08:54
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: insertar filas a un jTable??????

Los datos se añaden a través de un modelo de datos. Una forma simple es esta
Código java:
Ver original
  1. JTable tabla = new JTable(modelo);
  2. .....
  3. // a partir de aqui puedes añadir y borrar filas
  4. modelo.addRow(...);
  5. modelo.addColumn(...);
  6. ....

verás que DefaultTableModel tiene más métodos que JTable para añadir/modificar los datos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 06/07/2011, 09:21
 
Fecha de Ingreso: diciembre-2009
Mensajes: 115
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

Cita:
Iniciado por chuidiang Ver Mensaje
Los datos se añaden a través de un modelo de datos. Una forma simple es esta
Código java:
Ver original
  1. JTable tabla = new JTable(modelo);
  2. .....
  3. // a partir de aqui puedes añadir y borrar filas
  4. modelo.addRow(...);
  5. modelo.addColumn(...);
  6. ....

verás que DefaultTableModel tiene más métodos que JTable para añadir/modificar los datos.

Se bueno.
Gracias por aclararme un poco, sin embargo no entiendo como el codigo hace uso de la tabla que ya tengo creada en el Formulario.
  #4 (permalink)  
Antiguo 06/07/2011, 09:35
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tandil
Mensajes: 79
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: insertar filas a un jTable??????

Cita:
Iniciado por genihe Ver Mensaje
Gracias por aclararme un poco, sin embargo no entiendo como el codigo hace uso de la tabla que ya tengo creada en el Formulario.
Una forma muy parecida de hacerlo es la siguiente:

Código:
DefaultTableModel modelo = (DefaultTableModel) tuTabla.getModel();
String[] datos = {"", "", ""}; // Cantidad de columnas de la tabla
modelo.addRow(datos);
Así estás tomando el modelo de tu tabla, convirtiéndolo a DefaultTableModel y agregando filas en el modelo. Como dijo chuidiang, los datos se manejan desde el modelo.
  #5 (permalink)  
Antiguo 07/07/2011, 07:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 115
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

Cita:
Iniciado por tronco020 Ver Mensaje
Una forma muy parecida de hacerlo es la siguiente:

Código:
DefaultTableModel modelo = (DefaultTableModel) tuTabla.getModel();
String[] datos = {"", "", ""}; // Cantidad de columnas de la tabla
modelo.addRow(datos);
Así estás tomando el modelo de tu tabla, convirtiéndolo a DefaultTableModel y agregando filas en el modelo. Como dijo chuidiang, los datos se manejan desde el modelo.
Gracias, pude hacerlo funcionar de esa forma, solo, y como ultima cosa quisiera preguntar como funciona esta linea
DefaultTableModel modelo = (DefaultTableModel) tuTabla.getModel();
Me encanto que ande, pero no me gusta estar en la ignorancia de no saber que hace esa linea, que parece clave; en especial lo que es entre paréntesis
  #6 (permalink)  
Antiguo 07/07/2011, 07:26
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tandil
Mensajes: 79
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: insertar filas a un jTable??????

Cita:
Iniciado por genihe Ver Mensaje
Gracias, pude hacerlo funcionar de esa forma, solo, y como ultima cosa quisiera preguntar como funciona esta linea
DefaultTableModel modelo = (DefaultTableModel) tuTabla.getModel();
Me encanto que ande, pero no me gusta estar en la ignorancia de no saber que hace esa linea, que parece clave; en especial lo que es entre paréntesis
Primero definimos una variable llamada "modelo", que es de tipo DefaultTableModel. Con el método getModel() se obtiene el modelo de tu tabla. Pero como los tipos no coinciden, ya que "modelo" es de tipo DefaultTableModel y el método getModel() nos devuelve un TableModel, lo que hacemos es castear (convertir) lo que nos devuelve getModel() al tipo DefaultTableModel. Esto se hace colocando entre paréntesis el tipo de dato al que queremos convertir (en nuestro caso DefaultTableModel) antes del método getModel(). Espero haber sido claro. Saludos.
  #7 (permalink)  
Antiguo 07/07/2011, 09:55
 
Fecha de Ingreso: diciembre-2009
Mensajes: 115
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

Cita:
Iniciado por tronco020 Ver Mensaje
Primero definimos una variable llamada "modelo", que es de tipo DefaultTableModel. Con el método getModel() se obtiene el modelo de tu tabla. Pero como los tipos no coinciden, ya que "modelo" es de tipo DefaultTableModel y el método getModel() nos devuelve un TableModel, lo que hacemos es castear (convertir) lo que nos devuelve getModel() al tipo DefaultTableModel. Esto se hace colocando entre paréntesis el tipo de dato al que queremos convertir (en nuestro caso DefaultTableModel) antes del método getModel(). Espero haber sido claro. Saludos.
Gracias, me sirvio mucho, en base a esto investigare un poco mas.
  #8 (permalink)  
Antiguo 07/07/2011, 22:11
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

hola yo hice algo parecido y para ello cre una clase productosy un formulario para los productos y la vez cree otro formulario buscar donde cargue todas las tablas que podia ocupar.
en la clase clientes hise la consulta sql´para llamar los datos y en el
formulario clientes llame a la clase y y cargue desde formulario buscar ejemplo :
*******************
clase productos:

public Object[][] mostrar_productos(){
con.conectar();
int x=0;
try{
PreparedStatement datos=con.consulta().prepareStatement("SELECT * "
+" FROM `productos`"
+" ORDER BY `pro_cod` ASC ");

ResultSet res=datos.executeQuery();
res.last();

x= res.getRow();
}catch(SQLException e){
System.out.println(e);
}

Object[][] s=new String[x][5];
try{
PreparedStatement datos=con.consulta().prepareStatement("SELECT * "
+" FROM `productos`"
+"ORDER BY `pro_cod` ASC ");
ResultSet res=datos.executeQuery();
int i=0;
while(res.next()){
s[i][0]=res.getString("pro_cod");
s[i][1]=res.getString("pro_nom");
s[i][2]=res.getString("pro_des");
s[i][3]=res.getString("pro_stock");
s[i][4]=res.getString("pro_precio");///aqui consulto y ordeno los datos
i++;
}
res.close();
}catch(SQLException e){
System.out.println(e);
} return s; }
*************************************
formulario producto:

//Metodo para mostrar datos en la tabla
public void mostrar_productos(){

Object [][] dtClas;
String[] NombreColumnas={"codigo","Nombre","Descripcion","s tock","Precio"};//estos son los datos consultados
//Cargar datos
dtClas=pro.mostrar_productos();
DefaultTableModel datos=new DefaultTableModel(dtClas,NombreColumnas);
Tabla.setModel(datos);
***************************
y en formulario de busqueda cree una tabla

//Rescatar datos de los productos
public void mostrar_productos(){
claseproductos pro=new claseproductos();
Object [][] dtClas;
String[] NombreColumnas={"codigo","Nombre","Descripcion","S tock","Precio"};
//Cargar datos
dtClas=pro.mostrar_productos();
//Se colocan los datos en la tabla
DefaultTableModel datos=new DefaultTableModel(dtClas,NombreColumnas);
Tabla.setModel(datos);
}
// recuerda que el formulario de busqueda llama a la clase productos

private void formWindowOpened(java.awt.event.WindowEvent evt) {
switch(sw){
case 0:
mostrar_productos();
break;
}
***************
espero que te sirva y no haberte confundido
  #9 (permalink)  
Antiguo 16/04/2012, 09:27
 
Fecha de Ingreso: marzo-2012
Mensajes: 6
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

Hola quisiera preguntarles si alguien sabe como agregar filas pero en la penultima fila, es decir tengo una fila y quiero que esta se vaya siempre al final, se como agregar filas de la consulta pero las agrego despues de la que ya tengo y necesito que estas aparezcan antes de la ultima, espero me puedan ayuda, gracias
  #10 (permalink)  
Antiguo 16/04/2012, 10:48
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tandil
Mensajes: 79
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: insertar filas a un jTable??????

Hola karymme. el método addRow() te agrega una fila al final de la tabla (o mejor dicho el modelo), pero con el método insertRow() le decimos dóndo queremos insertar la fila. Ejemplo:

modelo.insertRow(modelo.getRowCount() - 1, datos);

Si el modelo tiene 5 filas, el método getRowCount() te devuelve el valor 5. Por lo tanto tenemos que restarle 1 para que inserte la fila en la posición 4 y desplace la última fila (la número 5) hacia abajo automáticamente.

Espero haber sido de ayuda. Saludos.
  #11 (permalink)  
Antiguo 17/04/2012, 11:56
 
Fecha de Ingreso: marzo-2012
Mensajes: 6
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: insertar filas a un jTable??????

Muchas gracias por tu ayuda tronco020, no sabia del metodo insertRow, andaba buscando y no encontraba respuesta, de verdad me has ayudado mucho GRACIAS =)

Etiquetas: filas, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:33.