Jtable 2023
Detalles manejo de ventanas -Manejo de tablas:
clase JTable
Model: permite seleccionar la cantidad de
columnas y de filas de la tabla
WindowBuilder Para armar las columnas debe seleccionarse más
JTable de dos filas y se puede configurar los títulos de las
columnas
rowSelection (true) permite seleccionar una fila
(getSelectedRow n= seleccionada y -1=no
seleccionada)
Variable: nombre de la variable en el formulario
(por defecto table)
Definición de Jtable:
[Link](new DefaultTableModel(
new Object[][] {
{null, null, null},
{null, null, null},
{null, null, null},
WindowBuilder },
new String[] {"nro", "nom", "dni
JTable ));
[Link](table2);
[Link](new DefaultTableModel(ARRAYTMP, new String[] {
“título1", “tit2", “títuloN" }));
Actualizar tabla:
Propiedades de Jtable útiles:
int renglon= [Link]();
WindowBuilder
JTable
-1= no seleccionado
!= -1 nro de renglón seleccionado
getValueAt permite obtener un dato cargado en la tabla
seleccionada:
[Link]([Link](renglon, 0).toString());
[Link](texto, reng, columna);
WindowBuilder Jtable
La definición de la tabla se agrega cada vez que se actualizan los valores de los
array multidimensionales (cada vez que se modifican los datos en la colección
deberían actualizarse los valores en el array y mostrar los datos)
[Link](new DefaultTableModel(arr, new String[] { "id", "Nombre", "Dependencia" }));
(tableMin=variable del frame y arr=array generado)
ej|
public class Obj1 {
private String uno;
private String dos;
private String tres;
public Obj1(String uno, String dos, String tres) {
super();
[Link] = uno;
[Link] = dos;
[Link] = tres;
}
protected HashSet<Obj1> hsobj=new HashSet();
[Link](new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
private void muestrotabla() { int pos= [Link]();
Object [][] aux=new Object[[Link]()][3]; [Link]((String) [Link](pos, 0));
int reng=0; [Link]((String) [Link](pos, 1));
for (Iterator it = [Link](); [Link]();) {
[Link]((String) [Link](pos, 2));
Obj1 obj1 = (Obj1) [Link]();
}
aux[reng][0]=[Link]();
});
aux[reng][1]=[Link]();
[Link](new DefaultTableModel(
aux[reng][2]=[Link]();
new Object[][] {
reng++;
}
{null, null, null},
[Link](new DefaultTableModel( {null, null, null},
aux, new String[] {"uno", "dos", "tres" })); {null, null, null},
} },
} new String[] {
"uno", "dos", "tres"
}
));
ej|
ej1|
Ejercicio1: actualizar archivo cliente con los siguientes atributos:
public class Cliente {
private int nro;
private String nombre;
private String dni;
Alta: agrega a una colección Map el objeto generado
con los datos ingresados por pantalla y ejecuta
método: Mostrar() (que muestra los objetos de la
colección en el Jtable de la Ventana)
Click en la table hace que seleccione los datos del
renglón y los ponga en los txbox
Baja: borra el objeto en la colección y ejecuta el
método Mostrar()
Modif: modifica el objeto del renglón seleccionado
con los datos de nombre y cuit (luego ejecuta
Mostrar() )
Listar: ejecuta Mostrar() y en ése método actualiza el
jtable
Salir: sale del formulario
WindowBuilder Jtable:
WindowBuilder Jtable:
Menu generando una Ventana en otro paquete
Ejercicio2: utilizar colección HashSet para resolver el ejercicio1.
Ejercicio3: realizar formulario Menu y llamar a la actualización de Clientes y otro
para actualizar proveedores con los siguientes atributos: nro, nombre, tel,
celular, email
Ejercicio4: resolver ejercicio de cliente y artículos (nro nombre, precio, stock)
Generar actualización de las dos clases.