• Domingo 22 de Diciembre de 2024, 06:39

Autor Tema:  Insertar Filas En Una Jtable  (Leído 16539 veces)

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Insertar Filas En Una Jtable
« en: Viernes 23 de Enero de 2004, 11:08 »
0
Hola:

  Estoy intentando añadir filas a una JTable creada anteriormente con la información contenida en una BD. Mi problema es que no tengo ni idea de cómo hacerlo, por lo que he visto por ahí creo que tengo que añadirle la fila al modelo de la tabla, pero no sé qué métodos hay que utilizar (si es que se hace así).

  ¿Podría echarme alguien una mano?

Gracias por adelantado.

Saludos

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Insertar Filas En Una Jtable
« Respuesta #1 en: Sábado 24 de Enero de 2004, 15:31 »
0
hola, realmente nunca he ehceho eso en java , pero si en otros lenguajes similares, por lo cual te debo decir que debe ser bastante sencilo,
lo mas seguro es que debas tener un objeto que realice el enlace con la base de datos, o mejor que obtenga tablas y registros de una base de datos, una ves hecho esto es simplemente asociarlo a nua propiedad del jtable,
un buen lugar donde obtendras esta ionformacion es en
http://java.sun.com
te agradeceria que publicaras en caso de que encuentres la solucion.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

gothmog

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re: Insertar Filas En Una Jtable
« Respuesta #2 en: Domingo 1 de Febrero de 2004, 16:10 »
0
En efecto, para usar tanto tablas como listas o combos, hay que utilizar modelos si se requiere algo de complejidad.

Asignar el modelo es sencillo:

Código: Text
  1. JTable tabla;
  2. DefaultTableModel modelo;
  3.  
  4. tabla.setmodel(modelo);
  5.  

Una vez hecho eso, te olvidas por completo del objeto JTable y pasas a trabajar con el modelo.

La forma de añadir filas es:

Código: Text
  1. modelo.addRow(Object[]);
  2.  

Ojo que requiere de objetos, no puedes utilizar tipos primitivos como int, boolean, float... En su lugar necesitaras las clases de java (Integer, Boolean, Float...).

La forma mas comun es esta:

supon que tenemos una tabla de 3 columnas (String id, Integer n, Boolean b ).

Código: Text
  1. Object[] dat = {"Jose", new Integer(5), new Boolean(true)};
  2. modelo.addRow(dat);
  3.  

Otra cosa a tener en cuenta es que los JTable suelen estar contenidos en un JScrollPane. Si no, no apareceran los titulos de las columnas, ni sera posible hacer un scroll en caso de que el numero de elementos sea mayor al espacio visible.


El problema quiza seria que tendrias que hacer una funcion traductora entre tu BD y la tabla.

Y si no vas a modificar datos, es decir, la tabla siempre va a ser la misma, puedes prescindir de modelos y añadir los datos directamente en el constructor. Los dos constructores que podrias utilizar serian:

Código: Text
  1. new JTable(Vector rowData, Vector columnNames);
  2. new JTable(Object[] rowData, Object[] columnNames);
  3.  

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Insertar Filas En Una Jtable
« Respuesta #3 en: Lunes 2 de Febrero de 2004, 08:37 »
0
Hola:

   Muchas gracias por la ayuda.
   Tengo una preguntilla más, ¿sabes si existe alguna página en la que se cuente todo esto en profundidad? Es que en todas las que he encontrado vienen ejemplos muy básicos, y en cuanto quiero hacer algo más complicado me pierdo, porque entre hacer una subclase de JTable para controlar el aspecto de la tabla, una de DefaultTableCellRenderer para controlar el aspecto de determinadas celdas y demás, cuando quiero cambiar una cosa tengo que buscar en un mogollón de clases a ver en cuál de ellas está el método apropiado y pierdo mucho tiempo.

Muchas Gracias.

Saludos.

gothmog

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re: Insertar Filas En Una Jtable
« Respuesta #4 en: Lunes 2 de Febrero de 2004, 16:43 »
0
Pues no sabria decirte. En español tienes la de www.programacion.com/java que tiene gran parte del api traducida, pero tampoco es que se extiendan demasiado. Si te manejas con el ingles, pasate por: http://forum.java.sun y puedes usar la busqueda del foro, que seguro que muchas dudas ya estaran incluso resueltas, o exponer tu las dudas  ;)

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Insertar Filas En Una Jtable
« Respuesta #5 en: Miércoles 4 de Febrero de 2004, 08:28 »
0
Hola:

  Muchas gracias por la ayuda, a ver si tengo suerte y encuentro lo que busco.

Saludos.