0% encontró este documento útil (0 votos)
122 vistas3 páginas

Modelo de Tabla para Productos en Java

Este documento describe cómo crear un modelo de tabla personalizado para mostrar datos en una tabla JTable de Java. Define una clase Producto para representar cada fila y una clase CustomTableModel que extiende AbstractTableModel para administrar los datos y actualizar la tabla. El modelo personalizado permite editar celdas y actualizar automáticamente el total cuando se modifica la cantidad.

Cargado por

skaferdy
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas3 páginas

Modelo de Tabla para Productos en Java

Este documento describe cómo crear un modelo de tabla personalizado para mostrar datos en una tabla JTable de Java. Define una clase Producto para representar cada fila y una clase CustomTableModel que extiende AbstractTableModel para administrar los datos y actualizar la tabla. El modelo personalizado permite editar celdas y actualizar automáticamente el total cuando se modifica la cantidad.

Cargado por

skaferdy
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MODELO TABLAS

Clase que se utilice para la creacin de las lneas de la tabla. public class Producto { private int cantidad; private String codigo; private String nombre; private double precio; private double total; public int getCantidad() { return cantidad; } public void setCantidad(int cantidad) { [Link] = cantidad; } public String getCodigo() { return codigo; } public void setCodigo(String codigo) { [Link] = codigo; } public double getPrecio() { return precio; } public String getNombre() { return nombre; } public void setNombre(String nombre) { [Link] = nombre; } public void setPrecio(double precio) { [Link] = precio; } public double getTotal() { return total; } public void setTotal(double total) { [Link] = total; } }

Ahora creamos nuestro propio TableModel, que tendr el metodo setValueAt que nos permitir modificar cualquier columna de un registro X
import [Link]; import [Link];

public class CustomTableModel extends AbstractTableModel { private ArrayList REGISTROS = new ArrayList(); private String COLUMNAS[] = {"CODIGO","PRODUCTO","CANTIDAD","PRECI O","TOTAL"}; public int getColumnCount() { return [Link]; } public int getRowCount() { return [Link](); } public Object getValueAt(int rowIndex, int columnIndex) { Producto producto = (Producto) [Link](rowIndex); switch(columnIndex){ case 0: return [Link](); case 1: return [Link](); case 2: return [Link](); case 3: return [Link](); case 4: return [Link](); default: return null; } } @Override public void setValueAt(Object aValue, int rowIndex, int columnInde x) { Producto producto = (Producto) [Link](rowIndex); switch(columnIndex){ case 0: [Link]([Link]()); case 1: [Link]([Link]()); case 2: // Si la columna es "CANTIDAD", se actualiza el precio total automaticamente.

int nuevaCantidad = [Link]([Link]()) ; [Link](nuevaCantidad); [Link]([Link]()*nuevaCantidad); case 3: [Link]([Link]([Link]())); case 4: [Link](); } // Disparamos el Evento TableDataChanged (La tabla ha cambiado ) fireTableDataChanged(); } public boolean isCellEditable(int rowIndex, int columnIndex) { return true; }

public void setProducto(Producto producto){ [Link](producto); fireTableDataChanged(); }

El metodo isCellEditable le dice al JTable cuales columnas pueden ser Editadas, en este caso devolvemos true para que todas las columnas sean editables, en caso que no quieras que todas sean editables tendrs que devolver true dependiendo del columnIndex que deseas sea editable.

Como introducir un nuevo producto en el JTable desde el JFrame?


Producto pro = new Producto(); [Link](1); [Link]("P001"); [Link]("PRODUCTO PARA VENDER SIN COLOR NI TALLA, NI DESCRIPCION "); [Link]("1.00"); [Link]("1.00"); ((CustomTableModel)([Link]()).setProducto(pro);

También podría gustarte