Les cuento, estube viendo en Internet varios ejemplos de JTable con TableModels, hice uno y funcionó a la perfección. Ahora quiero hacer uno más complejo y los vectores se llenan, pero los datos no aparecen en pantalla
Paso a explicar... primero las clases:
Código:
Para llenar 3 JTables, uso 3 TableModel:public class Actividad { private int nro; private Date fechaEstimada; private Date fechaReal; private Operador operadorEncargado; private Vector ayudantes; //Vector de objetos Operador private Máquina máquina; private byte prioridad; private byte estado; private String notas; private Vector trabajos; //Vector de objetos Trabajo } public class Operador { private int id; private String nombre; private String login; private String password; } public class Trabajo { private int nro; private Parte parte; private byte estado; private String notas; private Vector mantenimientos; //Vector de objetos MantenimientoXTrab } public class MantenimientoXTrab { private int nro; private int id; private String nombre; private String descripción; private int duraciónEstimada; private int duraciónReal; private Vector herramientas; //Vector de objetos Herramienta private Vector componentes; //Vector de objetos ComponenteXCant } public class Herramienta { private int id; private String nombre; private String descripción; private int stock; } public class ComponenteXCant{ private int id; private String nombre; private String descripción; private int stock; private int cantidad; }
- jTableOrden <-- TablaActividades
- jTableActividad <-- TablaTrabajos
- jTableTrabajo <-- TablaMantenimientos
Código:
Una vez que he completado los vectores, los asigno a los TableModel correspondientes y asigno estos a sus respectivos jTable pero no logro visalizar los datos... ¿Cómo puedo hacer para indicar qué dato mostrar en cada columna para que de esta manera los muestre en pantalla? public class TablaActividades extends AbstractTableModel { private String columnas[]; private Vector datos = new Vector(); public TablaActividades() { establecerColumnas(); } private void establecerColumnas(){ columnas = new String[6]; columnas[0] = "Nro"; columnas[1] = "Máquina"; columnas[2] = "FechaInicio"; columnas[3] = "OperadorEncargado"; columnas[4] = "Prioridad"; columnas[5] = "Notas"; } .... } public class TablaTrabajos extends AbstractTableModel { private String columnas[]; //private LinkedList datos = new LinkedList(); private Vector datos = new Vector(); public TablaTrabajos() { establecerColumnas(); } private void establecerColumnas(){ columnas = new String[5]; columnas[0] = "Nro"; columnas[1] = "Parte"; columnas[2] = "FechaInicio"; columnas[3] = "DuraciónTotal"; columnas[4] = "Notas"; } .... } public class TablaMantenimientos extends AbstractTableModel { private String columnas[]; //private LinkedList datos = new LinkedList(); private Vector datos = new Vector(); public TablaMantenimientos() { establecerColumnas(); } private void establecerColumnas(){ columnas = new String[5]; columnas[0] = "Nro"; columnas[1] = "Mantenimiento"; columnas[2] = "DuraciónEstimada"; columnas[3] = "Herramientas"; columnas[4] = "Componentes"; } .... }
Código:
Gracias, saludos. tablaActividades = new TablaActividades(); tablaTrabajos = new TablaTrabajos(); tablaMantenimientos = new TablaMantenimientos(); tablaActividades.setDatos(vectorActividades); tablaTrabajos.setDatos(vectorActividades.getVectorTrabajos()); tablaMantenimientos.setDatos(vectorActividades.getVectorTrabajos().getVectorMantenimientos()); jTableOrden.setModel(tablaActividades); jTableActividad.setModel(tablaTrabajos); jTableTrabajo.setModel(tablaMantenimientos);