Hola a todos!
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:
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;
}
Para llenar 3 JTables, uso 3 TableModel:
- jTableOrden <-- TablaActividades
- jTableActividad <-- TablaTrabajos
- jTableTrabajo <-- TablaMantenimientos
Código:
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";
}
....
}
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?
Código:
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);
Gracias, saludos.