Reihenfolge von ActionListener und InputVerifier

Status
Nicht offen für weitere Antworten.

Andreas29

Bekanntes Mitglied
Hi Leute,

ich habe eine GUI (auf Swing-Basis), die unter anderem ein Textfeld und einen Button enthält (neben zahlreichen anderen Komponenten, die für die Frage aber uninteressant sind). Auf dem Textfeld habe ich einen InputVerifier und auf dem Button einen ActionListener. Jetzt habe ich folgendes Problem:
Wenn das Textfeld den Fokus hat und ich dann mit der Maus auf den Button klicke, verliert ja logischerweise das Textfeld den Fokus und der InputVerifier wird aufgerufen. Gleichzeitig wird aber auch der ActionListener von dem Button aufgerufen. Das Problem ist, dass ich irgendwie sicherstellen muss, dass der ActionListener vor dem InputVerifier aufgerufen werden muss, weil der ActionListener den für den InputVerifier richtigen Wert in das Textfeld schreibt. In 80% der Fälle scheint dem auch so zu sein, nur gibt es dazwischen immer wieder aussetzer, in denen das nicht so ist. Leider kann ich das ganze auch nicht über wait-notify synchronisieren, weil sowohl der ActionListener als auch der InputVerifier im EventDispatchThread läuft, sprich nacheinander abgearbeitet werden. Hat wer eine Idee, wie ich das Problem lösen kann?

Grüße und vielen Dank für jede Hilfe,
Andreas
 

SuperSeppel13

Bekanntes Mitglied
Besonders elegant ist das vielleicht nicht, aber du könntest ein flag einrichten, das angibt, ob der actionlistener schon aufgerufen wurde. falls nicht, tut der Inputverifier nichts und setzt ein anderes flag, das angibt, dass der verifier noch ausgeührt werden muss. das kannst du dann in diesem fall aus dem actionlistener per hand machen, nachdem der alles wichtige abgearbeitet hat.
 

KrokoDiehl

Top Contributor
Hallo.
Probier mal, ob
Code:
button.setVerifyInputWhenFocusTarget(false);
bei dir was bringt. So wie ich's verstehe heißt das: Wenn dieser Button den Fokus bekommt, wird kein InputVerifier aufgerufen. Damit könntest du dann in der
Code:
actionPerformed()
deinen Feldwert setzen und dem Feld wieder den Fokus geben.
Ich hoffe ich hab dein Vorhaben so richtig verstanden ;)

Ansonsten wird es eher kompliziert, InputVerifier und ActionListener in eine feste Reihenfolge zu bringen.
 

velaluka

Aktives Mitglied
Hallo,
probier mal
Java:
SwingUtilities.invokeLater(...)
in deinem Verifier. Damit kannst du erreichen erst am ende der Eventverarbeitung loszulegen...
Ciao velaluka
 

Andreas29

Bekanntes Mitglied
Hi,

erstmal entschuldigung, dass ich erst jetzt antworte, aber in letzter Zeit war einfach zuviel los...

Mittlerweile habe ich selbst eine Lösung gefunden und etwas dazugelernt. Wie mir inzwischen klar wurde, war der Fehler der, dass der InputVerifier mein Modell geändert hat. Nachdem ich das abgestellt habe, war das Problem gelöst. Ich habe also gelernt, dass der verifier nur das tun soll, was er tun soll, nämlich die Eingabe zu Verifizieren. Und dazu braucht er nicht in mein Modell schreiben.

Vielen Dank für jede Hilfe und euch allen ein wunderwunderschönes Wochenende,
Andreas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX Timeline KeyFrame Reihenfolge AWT, Swing, JavaFX & SWT 6
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
K Swing Reihenfolge bei ActionListenern AWT, Swing, JavaFX & SWT 1
J Reihenfolge der Punkte in Vielecken AWT, Swing, JavaFX & SWT 3
C Swing Reihenfolge der Initialisierung von Komponenten AWT, Swing, JavaFX & SWT 6
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
T Java-Anwendung arbeitet Programm in seltsamer Reihenfolge ab AWT, Swing, JavaFX & SWT 3
M Komponenten in anderer Reihenfolge anzeigen AWT, Swing, JavaFX & SWT 4
lumo LayoutManager SWT GridLayout - Reihenfolge ändern AWT, Swing, JavaFX & SWT 7
P Swing Hierachie oder Reihenfolge von Komponenten AWT, Swing, JavaFX & SWT 5
C Swing Text eines JButton mit String definieren? Reihenfolge? AWT, Swing, JavaFX & SWT 6
D Swing JOptionPane + FileChooser .. Reihenfolge wichtig!? AWT, Swing, JavaFX & SWT 7
P JList: Reihenfolge der Elemente per Drag'n'Drop ändern. AWT, Swing, JavaFX & SWT 9
T Tab Reihenfolge bei JTextFeldern ändern AWT, Swing, JavaFX & SWT 4
H Reihenfolge z.B. KeyPressed in Child/Parent AWT, Swing, JavaFX & SWT 11
G Reihenfolge von Events AWT, Swing, JavaFX & SWT 4
S Labels und Button übereinander --> Reihenfolge? AWT, Swing, JavaFX & SWT 4
M Tab-Reihenfolge aber mit SWT AWT, Swing, JavaFX & SWT 1
K Tab-Reihenfolge AWT, Swing, JavaFX & SWT 7
T "globaler" keylistener/tab-reihenfolge/insertcurso AWT, Swing, JavaFX & SWT 5
B JTree - Reihenfolge der Nodes verändern AWT, Swing, JavaFX & SWT 3
N Fokus Reihenfolge ändern AWT, Swing, JavaFX & SWT 12
bernd Reihenfolge beim springen mit Tab-Taste ändern! AWT, Swing, JavaFX & SWT 4
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
pkm MainFrame durch Actionlistener auffrischen, aber wie? AWT, Swing, JavaFX & SWT 2
L actionListener für Button AWT, Swing, JavaFX & SWT 97
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
R ActionListener in Actionlistener AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
P Swing ActionListener überschreibt einen Wert aus der Hauptklasse nicht AWT, Swing, JavaFX & SWT 5
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
S While Schleife im Actionlistener AWT, Swing, JavaFX & SWT 1
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
T ActionListener nimmt JTextField nicht mehr an. AWT, Swing, JavaFX & SWT 2
P ActionListener Graphics Einbauen AWT, Swing, JavaFX & SWT 0
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
Liondary GUI - ActionListener AWT, Swing, JavaFX & SWT 7
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
E ActionListener führt falsche Funktion aus AWT, Swing, JavaFX & SWT 6
Sin137 ActionListener in MVC AWT, Swing, JavaFX & SWT 7
M ActionListener und mathematische Methoden AWT, Swing, JavaFX & SWT 13
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
Paul15 ActionListener Variablen AWT, Swing, JavaFX & SWT 13
Y ActionListener AWT, Swing, JavaFX & SWT 2
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
A Gui für Vokabeltrainer (ActionListener) AWT, Swing, JavaFX & SWT 14
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
K GUI, Button, ActionListener - ein paar Einsteigerprobleme AWT, Swing, JavaFX & SWT 1
W Verschachtelter ActionListener AWT, Swing, JavaFX & SWT 0
N gewünschte ActionListener bei RadioButton mit isSelected geht nicht AWT, Swing, JavaFX & SWT 2
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
A Swing ActionListener AWT, Swing, JavaFX & SWT 8
V ActionListener Abhängigkeitenproblem AWT, Swing, JavaFX & SWT 6
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
M Event Handling ActionListener übergeben ich checks net AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
S Button (ActionListener) funktioniert nicht, wenn y-Koordinate verändert wird AWT, Swing, JavaFX & SWT 5
L Swing ActionListener führt seine Aufgabe nur teilweise aus. AWT, Swing, JavaFX & SWT 7
A Swing ActionListener kann nicht hinzugefügt werden AWT, Swing, JavaFX & SWT 4
P Actionlistener - 3 klassen - kompliziert - auf methoden zugreifen AWT, Swing, JavaFX & SWT 3
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
M ProgressBar in ActionListener AWT, Swing, JavaFX & SWT 4
D AWT eigenem Knopf ActionListener zuweisen AWT, Swing, JavaFX & SWT 24
E Wert aus ActionListener geben AWT, Swing, JavaFX & SWT 4
J ActionListener per Innere Klasse oder e.getActionCommand() if-Abfrage? AWT, Swing, JavaFX & SWT 12
L Swing ActionListener zugriff auf bestimmte Elemente AWT, Swing, JavaFX & SWT 3
P Swing Seltsames ActionListener-Verhalten AWT, Swing, JavaFX & SWT 7
Oliver530 ActionListener von eigener ButtonKlasse AWT, Swing, JavaFX & SWT 16
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben