Ich habe das Problem, dass ich mir meinen eigenen TableCellEditor für Integer-Werte geschrieben habe. Laut dem Tutorial gibt es diese Funktion:
In dem Beispiel wird der Editor von JTextField abgeleitet, deswegen funktioniert das dort. In meinem Fall leite ich aber von JSpinner ab und dort gibt es keine Funktion wie getDocument() oder addDocumentListener(Object). Aber irgendwie muß ich ja trotzdem einen Listener oder was implementieren, der den Spinner überwacht?!
So sieht das bei mir jetzt aus:
Ich habe jetzt noch den ChangeListener implementiert weil der laut Doku von JSpinner (bzw dem SpinnerListModel) aufgerufen/ benutzt wird. Aber ansonsten habe ich nich wirklich ne Idee was ich jetzt machen soll :?
Code:
public TestEditor(){
// Der Editor hört sich selbst ab, so kann er auf jede Benutzereingabe reagieren
getDocument().addDocumentListener( this );
}
In dem Beispiel wird der Editor von JTextField abgeleitet, deswegen funktioniert das dort. In meinem Fall leite ich aber von JSpinner ab und dort gibt es keine Funktion wie getDocument() oder addDocumentListener(Object). Aber irgendwie muß ich ja trotzdem einen Listener oder was implementieren, der den Spinner überwacht?!
So sieht das bei mir jetzt aus:
Code:
class IntegerEditor extends JSpinner implements TableCellEditor, DocumentListener, ChangeListener{
private List<CellEditorListener> listeners = new ArrayList<CellEditorListener>();
public IntegerEditor(){
// Der Editor hört sich selbst ab, so kann er auf jede Benutzereingabe reagieren
}
Ich habe jetzt noch den ChangeListener implementiert weil der laut Doku von JSpinner (bzw dem SpinnerListModel) aufgerufen/ benutzt wird. Aber ansonsten habe ich nich wirklich ne Idee was ich jetzt machen soll :?