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
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


0