Tenho um TableModel. Eu quero utilizar para criar os Dados da tabela, o contrutor da superClasse DefaultTableModel (String[], int), mas nao consigo pegar um array de String[][] de volta. tem como ?
pode ser Object[][] tambem…
Codigo abaixo !
package TableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
public class MyTableModel extends DefaultTableModel implements TableModelListener {
private String[] columnNames;
private String[][] data;
public MyTableModel(String[] colNames, int row)
{
columnNames = colNames;
super.setRowCount(row);
data = super.getDataVector();// so tem este jeito de pegar os dados de volta ? por que preciso deles como um String[][]. e nao queria usar um for.
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return true;
}
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
public void tableChanged(TableModelEvent e) {
// TODO Auto-generated method stub
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel)e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
}
}