Amigos el problema es el siguiente ... espero me puedan ayudar tengo mas de 2 meses tratando y no puedo entonses pues recurri al corral jejeje...
Mi problema es con un JTable en java hecho en Netbeans 6.8, no lo gro entender como manejar ciertos eventos del JTable ya que mi experiencia con java es casi nula =(
no lo gro comprender como implementar unas clases que investigue espero mepuedan ayudar...
mi problema en concreto es que quiero de la siguiente tabla ...
1.- Desactivar la columna 1 "NL " , "Matricula " y "Nombre del alumno" para que no puedan ser modificadas por el usuario.
2.- En la columna calificacion al momento de teclear una calificacion se concatena conla anterior, lo que pretendo es que se sobreescriba el valor anterior asi como en EXCEL.
3.- Poder colorear una fila completa de algun color dependiendo del valor de la primera celda... por ejemplo colorear la fila donde el NL=5 ...
y otras cosas que creo que se pueden aplicar sobrescribiendo el SetCellRenderer de la TABLA ...
lo unico que eh logrado es ajustar el ancho de las columnas.... =(
Espero alguien me pueda ayudar dejo el codigo que utilizo .. aunque es un poco rudimentario....
public void prepTablaReg() {
String titulos [] ={"Nl.","Matricula","Nombre del Alumno","Calificacion","Faltas"};
m = new DefaultTableModel(null, titulos);
tabla.setModel(m);
TableColumn column = null;
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();
tcr.setHorizontalAlignment(SwingConstants.CENTER);
tabla.getColumnModel().getColumn(0).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(1).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(3).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(4).setCellRenderer(tcr);
//Cambio el ancho de las columnas de la tabla
column = tabla.getColumnModel().getColumn(0);
//column.setPreferredWidth(30);
column.setMinWidth(30);
column.setMaxWidth(30);
//column.setPreferredWidth(30);
column.setMinWidth(30);
column.setMaxWidth(30);
column = tabla.getColumnModel().getColumn(1);
column.setMinWidth(65);
column.setMaxWidth(65);
column = tabla.getColumnModel().getColumn(2);
column.setMinWidth(220);
column.setMaxWidth(220);
column = tabla.getColumnModel().getColumn(3);
column.setMinWidth(60);
column.setMaxWidth(60);
column = tabla.getColumnModel().getColumn(4);
column.setMinWidth(60);
column.setMaxWidth(60);
}
Espero me puedan ayudar .... lo que quiero hacer es parecido a lo que hace "Monillo007"
http://monillo007.blogspot.com/2009/05/cambiar-el-aspecto-de-las-celdas-de-un.html
PERO!! no logro adaptarlo a mi aplicacion :eolo: disculpen mi ignorancia ...
De antemano muchas gracias ... espero que de verdad me ayuden
Mi problema es con un JTable en java hecho en Netbeans 6.8, no lo gro entender como manejar ciertos eventos del JTable ya que mi experiencia con java es casi nula =(
no lo gro comprender como implementar unas clases que investigue espero mepuedan ayudar...
mi problema en concreto es que quiero de la siguiente tabla ...
1.- Desactivar la columna 1 "NL " , "Matricula " y "Nombre del alumno" para que no puedan ser modificadas por el usuario.
2.- En la columna calificacion al momento de teclear una calificacion se concatena conla anterior, lo que pretendo es que se sobreescriba el valor anterior asi como en EXCEL.
3.- Poder colorear una fila completa de algun color dependiendo del valor de la primera celda... por ejemplo colorear la fila donde el NL=5 ...
y otras cosas que creo que se pueden aplicar sobrescribiendo el SetCellRenderer de la TABLA ...
lo unico que eh logrado es ajustar el ancho de las columnas.... =(
Espero alguien me pueda ayudar dejo el codigo que utilizo .. aunque es un poco rudimentario....
public void prepTablaReg() {
String titulos [] ={"Nl.","Matricula","Nombre del Alumno","Calificacion","Faltas"};
m = new DefaultTableModel(null, titulos);
tabla.setModel(m);
TableColumn column = null;
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();
tcr.setHorizontalAlignment(SwingConstants.CENTER);
tabla.getColumnModel().getColumn(0).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(1).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(3).setCellRenderer(tcr);
tabla.getColumnModel().getColumn(4).setCellRenderer(tcr);
//Cambio el ancho de las columnas de la tabla
column = tabla.getColumnModel().getColumn(0);
//column.setPreferredWidth(30);
column.setMinWidth(30);
column.setMaxWidth(30);
//column.setPreferredWidth(30);
column.setMinWidth(30);
column.setMaxWidth(30);
column = tabla.getColumnModel().getColumn(1);
column.setMinWidth(65);
column.setMaxWidth(65);
column = tabla.getColumnModel().getColumn(2);
column.setMinWidth(220);
column.setMaxWidth(220);
column = tabla.getColumnModel().getColumn(3);
column.setMinWidth(60);
column.setMaxWidth(60);
column = tabla.getColumnModel().getColumn(4);
column.setMinWidth(60);
column.setMaxWidth(60);
}
Espero me puedan ayudar .... lo que quiero hacer es parecido a lo que hace "Monillo007"
http://monillo007.blogspot.com/2009/05/cambiar-el-aspecto-de-las-celdas-de-un.html
PERO!! no logro adaptarlo a mi aplicacion :eolo: disculpen mi ignorancia ...
De antemano muchas gracias ... espero que de verdad me ayuden