JSpinner Enter

BlubBlub

Bekanntes Mitglied
Hi ich habe zwei JSpinner.
Beide JSpinner sind auf setEditable(false) gesetzt.
Nun möchte ich dass der Benutzer einen Wert mit dem JSpinner auswählt und sobald
der Benutzer Enter drückt soll der Wert den der JSpinner zeigt ausgegeben werden.

Ich möchte keinen ChangeListener verwenden, da ich will, dass der Benutzer eine bestimmte Auswahl treffen kann und diese mit Enter bestätigen soll.

Dadurch, dass ich aber setEditable(false) gesetzt habe funktioniert der ActionListener nicht.

Ein Keylistner ist auch keine gute Lösung, da ich will, dass nur der JSpinner ein Ereignis auslöst, mit dem sich der Benutzer grad auseinander setzt und nicht beide.
 
G

Gast2

Gast
...
Beide JSpinner sind auf setEditable(false) gesetzt.
...
Nun möchte ich dass der Benutzer einen Wert mit dem JSpinner auswählt
...

Ehm?! Ich ziehe die Handbremse an will aber fahren?!

Entweder soll der Benutzer eine Eingabe machen können ==> setEditable = true
Oder der Benutzer soll keine Eingabe machen können ==> setEditable = false

Es geht nur eins von beidem. Vielleicht wäre ein im Wertebereich beschränktes NumberModel (Mit dem Spinner) oder eine JComboBox eher was du suchst?
 

BlubBlub

Bekanntes Mitglied
Vielleicht wäre ein im Wertebereich beschränktes NumberModel (Mit dem Spinner) oder eine JComboBox eher was du suchst

Eine JComboBox verwende ich bereits. Aber der Benutzer soll alternativ auch einen JSpinner verwenden
können.

Das Problem beim dem beschränkten NumberModel ist, dass ich keine Zahlen, sondern Strings verwende, wie "An", "Aus", "Grünes Licht" etc.

Nagut, aber selbst wenn ich setEditable auf true setze dann habe ich immer noch das Problem, dass der
ActionListener erst reagiert, wenn ich in den Eingabebereich irgendwas eingegeben habe und dann Enter drücke. Das heißt wähle ich mit dem JSpinner einen Wert aus kann ich nicht sofort auf Enter drücken sondern muss zum Beispiel noch ein Leerzeichen oder eine sonstige Eingabe zunächst vornehmen.
 

bERt0r

Top Contributor
Wie jetzt ComboBox oder Spinner?

Wenn JSpinner, wie addest du dem dann einen ActionListener??? Ein Spinner sollte ChangeEvents werfen, wenn er sich ändert -> ChangeListener.

Das Problem beim dem beschränkten NumberModel ist, dass ich keine Zahlen, sondern Strings verwende, wie "An", "Aus", "Grünes Licht" etc.

Dann nimmst du eben kein NumberModel sondern ein normales SpinnerListModel, bzw. gibst du deinem Spinner beim erzeugen einfach ein String array in den Konstruktor.
 

BlubBlub

Bekanntes Mitglied
Ja aber wenn ein JSpinner einen KeyListener erhält, dann wird der KeyListener jedes mal beim Drücken der Entertaste ausgeführt. Ich möchte aber, dass nur derjenige JSpinner auf die Entertaste reagiert, der grad in Verwendung ist.
Das problem ist also dass alle KeyListener darüber informiert werden, dass die Entertaste gedruckt wurde und nciht einfach nur der KeyListener von dem JSpinner bei dem der Benutzer eine Auswahl getroffen hat.
 

Volvagia

Top Contributor
Das glaube ich nicht. Ein KeyListener wird immer nur von den Komponenten abgefeuert, der den Focus hat. Wobei Enter nur bei einen editierbaren Spinner Sinn machen würde, der den Focus hat (JTextField z. B.)
Bei einen Spinner der nicht im Editor schaltet würde doch niemand Enter drücken, das wäre doch anwenderspezifisch falsch, oder? ???:L
 

André Uhres

Top Contributor
Das problem ist also dass alle KeyListener darüber informiert werden, dass die Entertaste gedruckt wurde und nciht einfach nur der KeyListener von dem JSpinner bei dem der Benutzer eine Auswahl getroffen hat.

Hallo BlubBlub,

deine Aussage ist ganz einfach falsch.
Wenn wir zum Beispiel "keyListener1" an "spinner1" hängen und "keyListener2" an "spinner2", dann hört jeder der beiden Listener nur auf "seinen" Spinner. Sogar wenn wir denselben KeyListener an beide Spinner hängen würden, könnten wir die Quelle des KeyEvents (also spinner1 oder spinner2) über die Methode "getSource()" herausfinden:
Java:
@Override
public void keyReleased(final KeyEvent evt) {
    if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
        if (SwingUtilities.getAncestorOfClass(JSpinner.class, (Component) evt.getSource()) == spinner1) {
            //Enter pressed for spinner1
        } else {
            //Enter pressed for spinner2
        }
    }
}

Gruß,
André
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
C JSpinner AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
K Swing JSpinner mit NULL AWT, Swing, JavaFX & SWT 3
V LookAndFeel JSpinner Hintergrund Farbe mit Nimbus LaF AWT, Swing, JavaFX & SWT 0
R Int aus JSpinner auslesen und Tabelle erstellen AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
D JCheckbox und JSpinner in JTable AWT, Swing, JavaFX & SWT 9
M JSpinner, setValue AWT, Swing, JavaFX & SWT 7
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
J Swing JSpinner mit zusätzlichem Text? AWT, Swing, JavaFX & SWT 2
B JSpinner ChangeEvent erzwingen AWT, Swing, JavaFX & SWT 6
B JSpinner Textgröße anpassen AWT, Swing, JavaFX & SWT 2
B JSpinner welche Taste? AWT, Swing, JavaFX & SWT 5
G JSpinner ohne Tausendertrennzeichen AWT, Swing, JavaFX & SWT 5
N Wertanzeige mittels JSpinner AWT, Swing, JavaFX & SWT 3
S JSpinner AWT, Swing, JavaFX & SWT 11
G Swing JSpinner nur mit Buttons ändern AWT, Swing, JavaFX & SWT 8
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
T Swing JSpinner in JTable AWT, Swing, JavaFX & SWT 9
C Größe von JSpinner fixieren AWT, Swing, JavaFX & SWT 4
J JSpinner + SpinnerNumberModel int auslesen AWT, Swing, JavaFX & SWT 2
C Zwei JSpinner mit dem gleichen Wert AWT, Swing, JavaFX & SWT 2
Eldorado Swing Popup-Menü mit Jspinner AWT, Swing, JavaFX & SWT 4
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
M JSpinner Font ändern AWT, Swing, JavaFX & SWT 4
Spin JSpinner AWT, Swing, JavaFX & SWT 10
T JSpinner, 3 JSpinner aber nur ein SpinnerDateModel AWT, Swing, JavaFX & SWT 7
S JSpinner der Floats anzeigt..? AWT, Swing, JavaFX & SWT 4
D Swing Eigene Komponente mit JSpinner AWT, Swing, JavaFX & SWT 4
elitebiber Swing JSpinner und die Zeit AWT, Swing, JavaFX & SWT 11
T JSpinner Problem AWT, Swing, JavaFX & SWT 6
G JSpinner umdrehen? AWT, Swing, JavaFX & SWT 2
G JSpinner und ChangeListener AWT, Swing, JavaFX & SWT 3
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
Tom299 JSpinner nur Zeitangabe AWT, Swing, JavaFX & SWT 13
G JSpinner Frage AWT, Swing, JavaFX & SWT 2
H JSpinner mit Kalenderwoche und Jahr AWT, Swing, JavaFX & SWT 6
M JSpinner in einer JTable? AWT, Swing, JavaFX & SWT 5
P Frage zu JSpinner AWT, Swing, JavaFX & SWT 3
B JTextFiled, JCheckBox, JSpinner Eigenschaften speichern AWT, Swing, JavaFX & SWT 2
R Konvertieren von Werten im JSpinner AWT, Swing, JavaFX & SWT 2
K JSpinner Werte verschwinden bei Panel Wechsel AWT, Swing, JavaFX & SWT 2
B JSpinner passt optisch nicht zu anderen Komponenten AWT, Swing, JavaFX & SWT 2
D JSpinner ohne Edit Möglichkeit AWT, Swing, JavaFX & SWT 5
J JSpinner mit zahlen AWT, Swing, JavaFX & SWT 10
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
L JSpinner + addRow() AWT, Swing, JavaFX & SWT 3
M .txt unter Verwendung von JSpinner in Textfeld schreiben AWT, Swing, JavaFX & SWT 4
N JDK1.4- Überladen d. Methoden getValue setValue von JSpinner AWT, Swing, JavaFX & SWT 2
S JSpinner: Editieren einschränken AWT, Swing, JavaFX & SWT 4
F JSpinner FocusListener AWT, Swing, JavaFX & SWT 2
W JSpinner: Button vertikal anordnen AWT, Swing, JavaFX & SWT 2
R JSpinner rotieren AWT, Swing, JavaFX & SWT 6
A JSpinner in Dialogbox integrieren? AWT, Swing, JavaFX & SWT 3
D JSPinner Größe verändern - setSize() funktioniert nicht AWT, Swing, JavaFX & SWT 7
javasdann JSpinner & KeyListener. AWT, Swing, JavaFX & SWT 8
G jspinner schrittweite in Abhängigkeit vom aktuellen Wert AWT, Swing, JavaFX & SWT 3
G JSpinner bringt bei anklicken eine CastException AWT, Swing, JavaFX & SWT 5
flashfactor Un mal ein Problem mit JSpinner AWT, Swing, JavaFX & SWT 7
I jSpinner.getValue() AWT, Swing, JavaFX & SWT 2
G JSpinner für Datumsanzeige AWT, Swing, JavaFX & SWT 2
I JTextfield senden über Enter AWT, Swing, JavaFX & SWT 1
S ActionEvent Press Enter per Code auslösen AWT, Swing, JavaFX & SWT 22
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
J Tableview - kann man mit Enter die Zellen wechseln AWT, Swing, JavaFX & SWT 1
S JavaFX Tab durch Enter ersetzten AWT, Swing, JavaFX & SWT 3
X Javafx button per enter auslösen AWT, Swing, JavaFX & SWT 5
C JTextfield ohne Enter feuern AWT, Swing, JavaFX & SWT 8
C JOptionPane.showConfirmDialog() -> Focus auf NEIN -> Enter gibt YES_OPTION zurück AWT, Swing, JavaFX & SWT 6
T JOptionPane Enter = Okay AWT, Swing, JavaFX & SWT 3
R JButton durch Enter auslösen AWT, Swing, JavaFX & SWT 7
T JButton mit Enter bestätigen AWT, Swing, JavaFX & SWT 7
S Textarea und Enter AWT, Swing, JavaFX & SWT 5
J KeyListener um auf CTRL-Enter zu reagieren AWT, Swing, JavaFX & SWT 2
D SWT JFace TableViewer nächster CellEditor nach Enter aktivieren AWT, Swing, JavaFX & SWT 5
E Jtable Werte ohne Enter übernehmen AWT, Swing, JavaFX & SWT 9
O JTable Zelle mit "ENTER" in Editmode setzen AWT, Swing, JavaFX & SWT 4
S Swing Auf Enter - Eingabe reagieren AWT, Swing, JavaFX & SWT 10
A JOptionPane soll auf Enter reagieren AWT, Swing, JavaFX & SWT 4
G Button auf Enter reagieren AWT, Swing, JavaFX & SWT 5
GilbertGrape bei "Enter" Funktion ausführen, egal wo der Fokus AWT, Swing, JavaFX & SWT 2
D Wie Taste "ENTER" bei PlainDocument abfangen? AWT, Swing, JavaFX & SWT 2
S Enter in JLabel - oder: JTabbedPane mit mehreren JLabel AWT, Swing, JavaFX & SWT 3
W JTabel darf nicht bei Enter AWT, Swing, JavaFX & SWT 2
D JButton mit Enter drücken AWT, Swing, JavaFX & SWT 5
D JButton mit Fokus soll auf ENTER reagieren AWT, Swing, JavaFX & SWT 3
ARadauer dialog, bei enter auf ok AWT, Swing, JavaFX & SWT 3
C ENTER-Frage AWT, Swing, JavaFX & SWT 28
S "Enter" in JTextField abfangen AWT, Swing, JavaFX & SWT 7
N jTextArea, Enter AWT, Swing, JavaFX & SWT 5
S TAB Taste ändern in Enter und deaktivieren im jTextField AWT, Swing, JavaFX & SWT 5
R JTable editierbar, Enter Event,... AWT, Swing, JavaFX & SWT 2
B JOptionDialog mit Enter Beenden? AWT, Swing, JavaFX & SWT 5
F JOptionPane soll nicht auf ENTER reagieren AWT, Swing, JavaFX & SWT 8
R Steuerzeichen eines Strings (z.B. ENTER) zurückwandeln AWT, Swing, JavaFX & SWT 3
bernd Text nach Betätigung der Enter-Taste übertragen AWT, Swing, JavaFX & SWT 8
K [JComboBox] ENTER löst zwei events aus? AWT, Swing, JavaFX & SWT 2
B button mit ENTER betätigen AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben