Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

FocusListener durch ActionListener überlagern?

Empfohlene Antworten

Hallo zusammen,

ich habe ein Applet mit mehreren Eingabefeldern, auf denen jeweils ein FocusListener ist.

Außerdem gibt es noch die Buttons Speichern und Abbrechen, auf denen ActionListener sitzen.

Wenn der Focus bei einem Eingabefeld verloren geht (also, das Feld verlassen wird) werden entsprechende Methoden ausgeführt, die die Inhalte der jeweiligen Felder prüfen.

Folgendes Problem:

Wenn ich mich in einem Eingabefeld mit dem Zeiger befinde und den Abbrechen-Button betätige, dann geht der Fokus dieses Eingabefeldes verloren und die entsprechenden Methoden werden ausgeführt. Teilweise mit Bildschirmausgabe.

Dies ist nicht Sinn und Zweck, da ich ja Abbrechen wollte!!

Wie kann ich bei FocusLost prüfen, ob der Fokus deshalb verloren ging, weil der Abbrechen-Button getätigt wurde?? :confused:

Dann könnte ich ja in die Methoden nur unter der Bedingung reingehen, dass das Feld normal und nicht durch Abbrechen verlassen wurde.

Ich will also in jeden Fall, dass die Abbrechen-Action vor FokusLost greift...

Hast du mal versucht beim Abbrechen-Button die Property setRequestFocusEnabled(false) zu setzen?

Gruß

Mirko

Original geschrieben von Mirko

Hast du mal versucht beim Abbrechen-Button die Property setRequestFocusEnabled(false) zu setzen?

Gruß

Mirko

Hm, habe ich nicht... Meinst du, damit erreicht der Button keine FocusGained() und insofern wird dann auch bei dem Eingabefeld kein FocusLost() ausgelöst??

Ich probiere es auf jeden Fall mal... Geht aber erst morgen wieder in der Firma ;-)

Ansonsten, gibt es nicht eine übergeordnete Liste, in der alle Events geführt werden, so dass man dann nachgucken kann, ob eventuell noch ein weiteres Event ausgelöst wurde?

Hm, also ich habe leider immer noch keine Lösung...

Wenn ich den Abbrechen-Button drücke, wird bei dem entsprechenden Eingabefeld immer der FocusLost() ausgeführt und die Meldung erscheint...

Weiss hier nicht mehr weiter, außer dass ich die Überprüfung der Feldinhalte komplett aus FocusLost() raus nehme und erst beim Drücken des Speichern-Buttons mache... Das ist aber eigentlich nicht gewünscht :(

Weiss niemand hier mehr Rat? :confused:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.