E
EinAnfänger
Gast
Hallo zusammen,
ich arbeite gerade das Buch die Insel durch und hänge an den JTables fest. Ich habe das Beispiel im Buch umgesetzt und versuche eine JTable zu erzeugen in der ich Werte ändern kann.
Hier der Code:
Die Spalte 0, also die erste, ist zum Editieren freigegeben; mit einem Klick in die Zelle kann ich dort auch etwas eingeben. Aber irgendwie wird mir die Änderung zum Verrecken nicht angezeigt, sprich mein Problem liegt in der Methode setValueAt. Kann mir vielleicht jemand einen Hinweis geben? Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht...
Viele Grüße
Markus
ich arbeite gerade das Buch die Insel durch und hänge an den JTables fest. Ich habe das Beispiel im Buch umgesetzt und versuche eine JTable zu erzeugen in der ich Werte ändern kann.
Hier der Code:
Java:
package jtable;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class GUI_JTable {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table =new JTable();
table.setModel(new Model());
f.add (new JScrollPane(table));
f.pack();
f.setVisible(true);
}
}
Java:
package jtable;
import javax.swing.table.AbstractTableModel;
public class Model extends AbstractTableModel{
public int getRowCount(){
return 10;
}
public int getColumnCount(){
return 3;
}
public Object getValueAt(int row, int col){
if (col==0)
return row;
else if (col==1)
return row * row;
else
return row * row * row;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return columnIndex ==0;
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
//System.out.println(aValue + " "+ rowIndex + " " + columnIndex); // Nur zu Kontrolle
hier fehlt etwas, nur was?
fireTableCellUpdated(rowIndex, columnIndex);
}
}
Die Spalte 0, also die erste, ist zum Editieren freigegeben; mit einem Klick in die Zelle kann ich dort auch etwas eingeben. Aber irgendwie wird mir die Änderung zum Verrecken nicht angezeigt, sprich mein Problem liegt in der Methode setValueAt. Kann mir vielleicht jemand einen Hinweis geben? Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht...
Viele Grüße
Markus