Hallo allerseits,
ich bastle derzeit an einem kleinen Programm, bei dem ich nun Objekte von einer mir erstellten Klasse in den Zellen einer JTable ablegen möchte und dann mit einem eigenen CellRenderer darstellen lasse.
Leider scheitere ich bereits beim Ablegen in der Tabelle, oder aber beim wieder beim Lesen aus der Zelle, da bin ich mir nicht sicher.
Den CellRenderer hab ich bisher noch nicht definiert, deswegen wird in der Tabellen Zelle bisher nur Klassenbezeichner und Speicheradresse (denk ich zumindest) angezeigt, aber das ist mir momentan auch nicht weiter wichtig. Was mir Kopfzerbrechen bereitet ist, dass entweder das speichern oder das laden einfach nicht funktioniert. Wenn ich also mehrere Objekte meiner Klasse in der Tabelle ablege und dann versuche, eines davon wieder aus der Tabelle zu entnehmen, werden die Werte nicht ins pufferelement übernommen.
Mir ist natürlich klar, dass ein einfacher Cast von Object auf meine Klasse ziemlicher Humbug ist, aber das war zumindest das erste, was ich wieder ohne Fehlermeldung kompilieren konnte.
Daher meine Frage(n):
- Kann man nur Objekte vom Typ Object in einer Zelle ablegen?
- Falls ja, wie kann ich die Schnittstelle zwischen diesen beiden Klassen verwirklichen?
- Falls nein, wie definiere ich den Typ, den man in einer Spalte ablegt?
Liebe Grüße und hoffentlich nicht zu großes Kopfzerbrechen,
MrMilti
ich bastle derzeit an einem kleinen Programm, bei dem ich nun Objekte von einer mir erstellten Klasse in den Zellen einer JTable ablegen möchte und dann mit einem eigenen CellRenderer darstellen lasse.
Leider scheitere ich bereits beim Ablegen in der Tabelle, oder aber beim wieder beim Lesen aus der Zelle, da bin ich mir nicht sicher.
Java:
class MeineKlasse
{
protected int identity;
public MeineKlasse() {this.identity=0;}
}
...
protected JTable Table;
protected DefaultTableModel model = new DefaultTableModel();
protected MeineKlasse pufferelement = new MeineKlasse();
model.addColumn("");
model.addColumn("Element");
model.addColumn("Kommentar");
Table = new JTable(model);
...
model.setValueAt(pufferelement,Table.getSelectedRow(),1);
...
pufferelement=(MeineKlasse)model.getValueAt(Table.getSelectedRow(),1);
Mir ist natürlich klar, dass ein einfacher Cast von Object auf meine Klasse ziemlicher Humbug ist, aber das war zumindest das erste, was ich wieder ohne Fehlermeldung kompilieren konnte.
Daher meine Frage(n):
- Kann man nur Objekte vom Typ Object in einer Zelle ablegen?
- Falls ja, wie kann ich die Schnittstelle zwischen diesen beiden Klassen verwirklichen?
- Falls nein, wie definiere ich den Typ, den man in einer Spalte ablegt?
Liebe Grüße und hoffentlich nicht zu großes Kopfzerbrechen,
MrMilti
Zuletzt bearbeitet: