Si eres un aprendiz sistemas en escritorio en java y te topaste con que quisiste editar las columnas de un JTable y encima personalizar sus columnas y agregar diferente tipos de datos, pues te presento una forma de hacerlo…
Primer Paso: Definamos el DefaulTableModel y los campos de la tabla que usted desea editar, si no hubiera campos pues, solo quitas la condicional y dejas el return false;
DefaultTableModel ListaPermiso = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
if (column == 3) { return true; }
return false; }
};
@Override
public boolean isCellEditable(int row, int column) {
if (column == 3) { return true; }
return false; }
};
Segundo Paso: Es formatear el JTable y asignar el DefaultTableModel al mismo.
ListaPermiso.setColumnIdentifiers(new String[]{“ID”, “NOMBRE”, “DESC”,});// Aquí definimos la cabecera de la tabla.
((DefaultTableCellRenderer)tbListaPermiso.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.CENTER);// Este código es para centrar las cabeceras de la tabla.
//de está manera definimos los tamaños de la tabla por cada columna
tbListaPermiso.getColumnModel().getColumn(0).setPreferredWidth(50);
tbListaPermiso.getColumnModel().getColumn(1).setPreferredWidth(150);
tbListaPermiso.getColumnModel().getColumn(2).setPreferredWidth(150);
tbListaPermiso.getColumnModel().getColumn(3).setPreferredWidth(100);
tbListaPermiso.getColumnModel().getColumn(1).setPreferredWidth(150);
tbListaPermiso.getColumnModel().getColumn(2).setPreferredWidth(150);
tbListaPermiso.getColumnModel().getColumn(3).setPreferredWidth(100);
tbListaPermiso.getTableHeader().setReorderingAllowed(false);// Está linea de código es para no permitir que se muevan las columnas.
tbListaPermiso.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//Para que sea una selección simple y no múltiple.
tbListaPermiso.setAutoResizeMode(tbListaPermiso.AUTO_RESIZE_OFF);//Es para la auto-definición de los campos sea en base a lo estructurado anteriormente y no automático.
tbListaPermiso.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//Para que sea una selección simple y no múltiple.
tbListaPermiso.setAutoResizeMode(tbListaPermiso.AUTO_RESIZE_OFF);//Es para la auto-definición de los campos sea en base a lo estructurado anteriormente y no automático.
A continuación setearemos el DefaultTableModel creado al JTable que tenemos en nuestro formulario, y agregamos, ya sea a través de la opción propiedades o a nivel de código al iniciar el formulario jTable.setModel(ListaPermiso);
Comentarios
Publicar un comentario