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
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