Lassen Sie JSpinner Text auswählen, wenn er fokussiert ist

Ich möchte das Verhalten eines JSpinners so ändern, dass er beim Klicken auf den Text diesen auswählt. Dies erleichtert das Ersetzen des Felds durch den gewünschten Wert. Leider kann ich das Verhalten nicht zum Laufen bringen. Stattdessen wird nur der Cursor in den Text eingefügt, ohne dass ausgewählt wird, was bereits vorhanden ist.

Ich habe versucht, einen Fokus-Listener sowohl für den JSpinner selbst als auch für den Textbereich selbst über hinzuzufügen((DefaultEditor) this.getEditor()).getTextField()Trotzdem scheint keines von beiden die beabsichtigte Wirkung zu haben. Mein Code (für den JSpinner selbst) lautet wie folgt:

spinner.addFocusListener(new FocusAdapter(){
            @Override
            public void focusGained(FocusEvent e) {
                ((DefaultEditor) ((JSpinner) e.getSource()).getEditor()).getTextField().selectAll();
            }
        }); 

Ich bin mir nicht sicher, wo das Problem liegt. Wenn es darauf ankommt, verwende ich Mac OS 10.7.5 und Java 6u43.

EDIT: Ich habe eineSystem.out.println Gleich zu Beginn der focusGained-Methode wurde festgestellt, dass sie nie aufgerufen wurde. Es sieht also so aus, als würde sich der Fokus auf den JSpinner nicht registrieren. Ich habe erneut versucht, den focusAdpater sowohl auf dem Drehfeld als auch auf dem Textfeld zu platzieren (allerdings nicht gleichzeitig).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage