Java - Problemas con JTable

   
Vista:

Problemas con JTable

Publicado por Andy_CARP (1 intervención) el 09/04/2008 00:57:09
Buenass estoy intentando armar una tabla (JTable) la cual va a poseer checbok toda la primer fila y toda la segunda columna. no estoy logrando hacer esto..
segun tengo entendido para ello he creado un modelo de tabla realizando un extends de AbstractTableModel "myModel" y tambien he realizado un extends de JTable en la cual he redefinido los metodos
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
//import javax.swing.table.TableModel;

public class myTable extends JTable implements tblModel {
tblModel modelo;
public myTable () {
super ();
}

public myTable (MyTableModel tbm) {
super (tbm);
}

public TableCellEditor getCellEditor(int row, int column) {
TableCellEditor editor = columnModel.getColumn(column).getCellEditor();
if (editor == null) {
int mcolumn = convertColumnIndexToModel(column);
editor = getDefaultEditor(modelo.getColRowClass(row, column));
}
return editor;
}

public TableCellRenderer getCellRenderer(int row, int column) {
TableCellRenderer renderer = null;
if (columnModel.getColumnCount() > 0)
renderer = columnModel.getColumn(column).getCellRenderer();
if (renderer == null) {
int mcolumn = convertColumnIndexToModel(column);
renderer = getDefaultRenderer(modelo.getColRowClass(row, column));
}
return renderer;
}

@Override
public void addTableModelListener(TableModelListener listener) {
// TODO Auto-generated method stub

}

public Class<?> getColRowClass(int rowIndex, int colIndex) {
return getValueAt(rowIndex, colIndex).getClass();
}

@Override
public void removeTableModelListener(TableModelListener listener) {
// TODO Auto-generated method stub

}
}

el problema que estoy teniendo en este momento es que al llamar al metodo "modelo.getColRowClass" arroja un error de NullPointer.. este metodo lo he definido en una nueva interface pensando que seria necesario:
import javax.swing.event.TableModelListener;

public interface tblModel {
int getRowCount();
int getColumnCount();

String getColumnName(int columnIndex);

Class<?> getColumnClass(int columnIndex);

boolean isCellEditable(int rowIndex, int columnIndex);

Object getValueAt(int rowIndex, int columnIndex);

void setValueAt(Object aValue, int rowIndex, int columnIndex);

void addTableModelListener(TableModelListener listener);

void removeTableModelListener(TableModelListener listener);

Class<?> getColRowClass(int rowIndex, int colIndex);
}

y a su vez la he definido en la class de myModel

pero sigo con el error.. realmente nosee q puede ser..

Gracias!!

:p by Andy_CARP :p
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con JTable

Publicado por chuidiang (949 intervenciones) el 09/04/2008 07:32:32
Hola:

Salta esa excepción porque getValueAt(rowIndex, colIndex) devuelve null. Si sabes a priori el tipo de clase que vas a devolver en cada fila,columna es mejor hacer algo como esto (es un ejemplo)

if (colIndex == 3)
return Boolean.class;
else
return String.class;

Si no lo haces así, dependes de que haya datos (no podrías tener celdas vacías).

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar