Moin,
die JTables machen mich noch wahnsinnig! :autsch:
Ich versuche die Daten eines Arrays ("liste") in einer JTable anzuzeigen. Das klappt auch!
Ich will jetzt aber Daten im JTable anändern, das klappt leider nicht! Ich habe die setValueAt-Methode überschrieben, aber sie wird als "nicht benutzt" von Eclipse markiert.
Vielleicht habt ihr ja eine Idee was ich falsch mache. Würde mich über eure Kommentare freuen:
Ein kleiner Ausschnitt von meinem Code... Alles was nicht von Interesse ist, hab ich rausgeschnitten (JButtons, JLabels etc)
Was mach ich falsch?
Viele Grüße!
die JTables machen mich noch wahnsinnig! :autsch:
Ich versuche die Daten eines Arrays ("liste") in einer JTable anzuzeigen. Das klappt auch!
Ich will jetzt aber Daten im JTable anändern, das klappt leider nicht! Ich habe die setValueAt-Methode überschrieben, aber sie wird als "nicht benutzt" von Eclipse markiert.
Vielleicht habt ihr ja eine Idee was ich falsch mache. Würde mich über eure Kommentare freuen:
Java:
frame = new JFrame( "Tabelle" );
AbstractTableModel tableModel = new AbstractTableModel() {
Integer[][] werte = liste;
@Override
public int getColumnCount() {
return werte[0].length;
}
@Override
public int getRowCount() {
return werte.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return werte[rowIndex][columnIndex];
}
//Eclipse meint dazu: "The method setValueAt(Integer, int, int) from the type new AbstractTableModel(){} is never used locally"
public void setValueAt(Integer value, int row, int col) {
werte[row][col] = value;
fireTableCellUpdated(row, col);
}
};
frame.getContentPane().setLayout (new BorderLayout());
Box box = Box.createVerticalBox();
box.setBorder(BorderFactory.createEmptyBorder(15,15,0,15));
table = new JTable(tableModel);
JScrollPane scroll = new JScrollPane( table );
box.add( scroll );
frame.getContentPane().add(box, BorderLayout.NORTH);
//Das hier sollte die Werte in der Jtable ändern? Geht nicht!
System.out.println(table.getValueAt(3, 2));
table.setValueAt("54", 3, 2);
System.out.println(table.getValueAt(3, 2));
frame.setDefaultCloseOperation( JFrame.HIDE_ON_CLOSE );
frame.pack();
frame.setVisible( true );
);
Ein kleiner Ausschnitt von meinem Code... Alles was nicht von Interesse ist, hab ich rausgeschnitten (JButtons, JLabels etc)
Was mach ich falsch?
Viele Grüße!