java - una - Adición dinámica de JTable que no muestra
como obtener los valores de un jtable en java (2)
"esto" en tu contexto no está claro. ¿Está dentro de un applet? un JFrame?
Es posible que tengas un problema de diseño, asegúrate de haber llamado a setLayout en tu clase con un nuevo diseño de borde.
En una aplicación swing, querrá usar getRootContentPane (). Add () en lugar de un raw add (), dependiendo de la versión.
Tutorial de Java sobre cómo agregar contenido de nivel superior: http://java.sun.com/docs/books/tutorial/uiswing/components/toplevel.html
Java Newbie aquí. Tengo un JFrame que agregué a mi proyecto netbeans y le agregué el siguiente método, que crea una JTable. El problema es que, por alguna razón, cuando llamo a este método, la JTable no se muestra. ¿Alguna sugerencia?
public void showFromVectors(Vector colNames, Vector data) {
jt = new javax.swing.JTable(data, colNames);
sp = new javax.swing.JScrollPane(jt);
//NB: "this" refers to my class DBGridForm, which extends JFrame
this.add(sp,java.awt.BorderLayout.CENTER);
this.setSize(640,480);
}
El método se llama en el siguiente contexto:
DBGridForm gf = new DBGridForm(); //DBGridForm extends JFrame
DBReader.outMatchesTable(gf);
gf.setVisible(true);
... donde DBReader.outMatchesTable () se define como
static public void outMatchesTable(DBGridForm gf) {
DBReader ddb = new DBReader();
ddb.readMatchesTable(null);
gf.showFromVectors(ddb.lastRsltColNames, ddb.lastRsltData);
}
Supongo que estoy pasando por alto algo, ya sea sobre las clases de swing que estoy usando o sobre Java. ¿Algunas ideas?
Si no está ejecutándose en el hilo del evento, podría ser un problema. He visto que las cosas no se muestran.
Si se llama a este código en respuesta a un evento AWT (clic del mouse, botón, ...), ese no es el problema, pero si sigue siendo el mismo hilo que inició su aplicación, o este código se está ejecutando en un temporizador, podría muy bien ser.