Aber ich würde davon abraten. Da das Modell des Spinners austauschbar sein soll, würde ich immer nur den aktuellen Wert bearbeiten, nicht welche Taste gedrückt wurde.
Nagut aber es wird wohl kein Weg dran vorbeiführen.
In meinem JSpinner habe ich Zahlen von 1 bis 100 gespeichert.
Es sind Situationsabhängig aber nur bestimmte Zahlen davon zulässig.
(Welche Zahlen zulässig sind und welche nicht kann sich dynamisch ändern, also
kann ich nicht von vornerein sagen welche Zahl erlaubt ist.)
Angenommen die Zahlen 18, 19 und 21, 22 sind nicht zulässig und der aktuelle Wert liegt bei 20.
Wenn der Benutzer nun den oberen Button betätigt so soll der JSpinner auf den Wert 23 springen.
Drück der Benutzer hingegen den unteren Button so soll der JSpinner auf den Wert 17 springen.
Innerhalb des StateChangeListener schaue ich mir also den Wert an. Ist der Wert nicht zulässig so erhöht er diesen Wert in einer for Schleife um 1 (falls der obere arrowButton gedrückt wurde). Ist dieser neue Wert auch nicht zulässig erhöht er ihn wiederum um 1. Ist der Wert zulässig so wird dieser Wert mit setValue im Spinner angezeigt.
Wurde der untere arrowButton gedrückt wird nicht um 1 erhöht sondern immer um 1 erniedrigt.
Dies ist also der Grund weshalb ich wissen muss ob der User den oberen oder unteren arrowButton gedrückt hat.