我正在 Java 上开发一个小应用程序。我为 jtable 创建了一个自定义模型。模型是这样的:
package tienda.funcionalidad;
import java.awt.Component;
import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableCellRenderer;
import tienda.funcionalidad.excepciones.NombreNoValidoException;
import tienda.funcionalidad.excepciones.PrecioNoValidoException;
import tienda.funcionalidad.excepciones.ProductoNoExisteException;
public class ProductTableModel extends AbstractTableModel implements TableCellRenderer {
/**
*
*/
private static final long serialVersionUID = 1L;
final String[] columns = { "Producto", "Serodys", "Ramírez", "Entrada", "MercaSur" };
final ArrayList registros = GestionTienda.getProductos();
@Override
public int getColumnCount() {
return columns.length;
}
@Override
public String getColumnName(int column) {
return columns[column];
}
@Override
public int getRowCount() {
if (registros.isEmpty())
return 0;
return registros.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Product product = (Product) registros.get(rowIndex);
switch (columnIndex) {
case 0:
return product.getName();
case 1:
return product.getPriceSerodys();
case 2:
return product.getPriceRamirez();
case 3:
return product.getPriceEntrada();
case 4:
return product.getPriceMercasur();
}
return null;
}
public boolean isCellEditable(int row, int col) {
return true;
}
public Class getColumnClass(int col) {
switch (col) {
case 0: // Name
return String.class;
case 1: // value
return Double.class;
case 2: // location
return Double.class;
case 3: // quantity
return Double.class;
case 4:
return Double.class;
}
return null;
}
相关分类