Focus Gained nach Fensterwechsel

Status
Nicht offen für weitere Antworten.

HannsW

Bekanntes Mitglied
Hallo Javainer und innnen.

ich versuche zu debuggen, und meine, daß meine Routine FocusGained auch dann angesprungen wird, wenn ich vom debugger zurück ins Applicationsfenste wechsle.
Dieser effekt ist nicht so toll. Ich habe bereits ein
Code:
if ( ! FocusEvent.Istemporary){
  tu was 
}
eingebaut, aber das scheint auch nicht zu helfen.

Wie kann aich vermeiden, daß FocusGained NICHT angesprochen wird, wenn mein JTextfeld bereits das Aktive ist ?
TIA Hanns
 

Ebenius

Top Contributor
Ungetestet; mein Ansatz sähe so aus: [HIGHLIGHT=Java]@Override
public void focusGained(FocusEvent e) {
final Component previousOwner = e.getOppositeComponent();
final Component newOwner = e.getComponent();
if (previousOwner != null
&& SwingUtilities.getRoot(previousOwner) == SwingUtilities
.getRoot(newOwner)) {
// Now we know that the focus changed inside our window
}
}

@Override
public void focusLost(FocusEvent e) {
final Component previousOwner = e.getComponent();
final Component newOwner = e.getOppositeComponent();
if (SwingUtilities.getRoot(previousOwner) == SwingUtilities
.getRoot(newOwner)) {
// Now we know that the focus changed inside our window
}
}[/HIGHLIGHT]
Eigentlich dachte ich, dafür gibt's irgendwo eine Helfer-Methode in der JDK-API, hab's aber nicht gefunden.

Ebenius
 

Wildcard

Top Contributor
Wie kann aich vermeiden, daß FocusGained NICHT angesprochen wird, wenn mein JTextfeld bereits das Aktive ist ?
Der Trick ist doch gerade, das es eben nicht 'aktiv' ist wenn du in einem anderen Fenster bist. Geht es dir denn nur um den Debugger? Kannst du das nicht mit zB einem Conditional Breakpoint lösen?
 

HannsW

Bekanntes Mitglied
Der Trick ist doch gerade, das es eben nicht 'aktiv' ist wenn du in einem anderen Fenster bist. Geht es dir denn nur um den Debugger?

Ich glaube nicht, es sei denn, ich habe ien Denkfehler gemacht:
Ich möchte beim Wechsel von einem Textfeld zu einem anderen bestimmte "Verlassen_routine" und "Eintreten_Routinen" ausführen, aber auch NUR dann.
d.h., auch wenn ich ein inaktives Fenster durch MouseClicken auf mein vorher aktives Textfeld aktiviere, sollen diese Routinen nicht ausgeführt werden

Hanns
Oder hab ich da nen Knoten in der LEitung?
 

Wildcard

Top Contributor
Eine Validierung vielleicht? Je nachdem was du genau erreichen möchtest ist InputVerifier, oder Document, oder DocumentListener vielleicht das richtige für dich.
 

Ebenius

Top Contributor
Eine Validierung vielleicht? Je nachdem was du genau erreichen möchtest ist InputVerifier, oder Document, oder DocumentListener vielleicht das richtige für dich.
Dann hast Du den letzten Beitrag nicht richtig gelesen. InputVerifier wird nur bei FOCUS_LOST aber nicht bei GAINED aufgerufen. Und DocumentListeners passen hier eigentlich auch nicht.

Ebenius
 

HannsW

Bekanntes Mitglied
Eine Validierung vielleicht? Je nachdem was du genau erreichen möchtest ist InputVerifier, oder Document, oder DocumentListener vielleicht das richtige für dich.

Danke für den Denk-Anstoß:
Beim Überprüfen der Routinen stellte ich zwei Fehler fest, und konnte durch aufruf einfacherer Routinen ( = NAchdenken ) den gewünschten effekt erreichen
 

Ebenius

Top Contributor
Krass. Die Möglichkeit hätte ich nach HannsWs letzter Bemerkung ausgeschlossen. Wildcard, Du hast ne Kristallkugel die größer ist als meine. :)

Ebenius
 

Wildcard

Top Contributor
Dann hast Du den letzten Beitrag nicht richtig gelesen. InputVerifier wird nur bei FOCUS_LOST aber nicht bei GAINED aufgerufen. Und DocumentListeners passen hier eigentlich auch nicht.
Gelesen schon, war einfach ein Schuß ins Blaue da der Use-Case nicht angegeben wurde und dann oft nach Details für eine angedachte Lösung gefragt wird, die mit unter nicht die richtige, oder unnötig kompliziert ist.
 

Ebenius

Top Contributor
Gelesen schon, war einfach ein Schuß ins Blaue da der Use-Case nicht angegeben wurde und dann oft nach Details für eine angedachte Lösung gefragt wird, die mit unter nicht die richtige, oder unnötig kompliziert ist.
Schon klar, bersuche ich auch oft, Du scheinst das wohl besser zu können. :toll:

Ebenius
 

HannsW

Bekanntes Mitglied
Krass. Die Möglichkeit hätte ich nach HannsWs letzter Bemerkung ausgeschlossen. Wildcard, Du hast ne Kristallkugel die größer ist als meine. :)

Ebenius
DAs mit der Kugel glaube ich nicht. ZU meinem Problem:
ICh hatte ( schäm ) in der FocusGained-Routine den Code für Focus-Lost und vice versa. Da ich eh mit Documenten arbeite, habe ich auf wildcards-Antwort mwinwn COde überprüft, und den Blödsinn festgestellt.

Allein: es bleibt die Frage der Beziehung zwischen FocusEvent.isTemporary() und FocusGained() und FensterWechsel.

Wann ist ein FocusEvent temporary?
Hanns

p.s. Ich bin vielleicht nicht so ganz bei der Sache, weil man mich heute "zur Beobachtung" auf Station behalten hat. Gottlob kann ich ins WLAN
 

Wildcard

Top Contributor
Grundsätzlich hast du das schon richtig verstanden:
There are two levels of focus events: permanent and temporary. Permanent focus change events occur when focus is directly moved from one Component to another, such as through a call to requestFocus() or as the user uses the TAB key to traverse Components. Temporary focus change events occur when focus is temporarily lost for a Component as the indirect result of another operation, such as Window deactivation or a Scrollbar drag. In this case, the original focus state will automatically be restored once that operation is finished, or, for the case of Window deactivation, when the Window is reactivated. Both permanent and temporary focus events are delivered using the FOCUS_GAINED and FOCUS_LOST event ids; the level may be distinguished in the event using the isTemporary() method.
FocusEvent (Java Platform SE 6)
 

Wildcard

Top Contributor
Ja, aber ob das im Debug Fall noch alles so funktioniert ist was anderes. Schließlich hälst du ja den UI Thread an...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S KeyListener ohne Focus - Wie? Allgemeine Java-Themen 2
B Focus auf das Eingabefeld richten Allgemeine Java-Themen 4
C Swing Focus nach Beendigung eines Modal-JDialogs Allgemeine Java-Themen 5
P Listener für Tastatureingaben ohne Focus Allgemeine Java-Themen 4
D Focus und Status Allgemeine Java-Themen 2
E Focus nach Start eines externen Programmes Allgemeine Java-Themen 6
H Fenster focus Allgemeine Java-Themen 5
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
P Focus über einer JComponent Allgemeine Java-Themen 9
M Focus setzen - Frage zu FAQ Artikel Allgemeine Java-Themen 6
E focus problem (mit mehreren frames) Allgemeine Java-Themen 10
E Focus Problem Allgemeine Java-Themen 65
TheJavaKid Focus für KeyListener setzen Allgemeine Java-Themen 5
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
I 2D-Grafik Vektor-Grafik über die Zwischenablage nach Adobe Illustrator transferieren Allgemeine Java-Themen 8
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
G Geotools Probleme nach PC-Wechsel Allgemeine Java-Themen 6
K Verbesserung der Laufzeit beim Sortieren von Einwohnern nach ihrem Geburtsjahr Allgemeine Java-Themen 0
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
I In Java geschriebene Software nach Mac OS portieren Allgemeine Java-Themen 7
M TicTacToe Sound nach jedem Zug Allgemeine Java-Themen 21
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
J4n5chmiddi Methoden Website-URL im Browser öffnen nach erfolgreicher Basisauthentifizierung in Java Allgemeine Java-Themen 12
pkm Frage nach eventuellem syntaktischen Zucker bei der Konkatenation von ArrayLists Allgemeine Java-Themen 4
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
H Collections Aktuellen Index generell und nach Sortierung ausgeben Allgemeine Java-Themen 6
Kirby.exe Filename nach bestimmtem Pattern durchsuchen Allgemeine Java-Themen 5
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
W Pdf verwerfen, weil Checkbox nach Unterschrift geaendert wurde Allgemeine Java-Themen 5
G File not found - nach dem Kompilieren Allgemeine Java-Themen 6
S Swing Speichern nach Button-Klick Allgemeine Java-Themen 5
Meeresgott Effizientester Weg um nach der Value einer verschachtelten Map aufzulösen Allgemeine Java-Themen 5
M Java 8 nach Java 6 konvertieren Allgemeine Java-Themen 7
N Neustarten des Codes nach der Fehlermeldung Allgemeine Java-Themen 17
L Nach dem Login // Java Desktop Software Allgemeine Java-Themen 7
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
J Jasper Reports - Compilerproblem nach Umstellung von Groovy auf Java Allgemeine Java-Themen 7
looparda Liste filtern nach Prädikaten verschiedener Typen Allgemeine Java-Themen 3
S Apache POI Filtern nach bestimmten Kriterium Allgemeine Java-Themen 1
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
C Config nach bestimmten Wertdurchsuchen. Allgemeine Java-Themen 2
B Suche nach einem Testprogramm für meine BA Allgemeine Java-Themen 0
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
D BufferedReader bricht nach 1248 Iterationen ab Allgemeine Java-Themen 14
G Eclipse Java findet MySQL Driver nach export nicht mehr Allgemeine Java-Themen 2
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
F Zurnung nach Buchstaben und deren Prüfung Allgemeine Java-Themen 9
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
MiMa Sortieren nach Stellenangaben Allgemeine Java-Themen 7
L Erste Schritte Liste von Datums filter nach Monate Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
J Ausgabe von Links nach Rechts ausgeben? Allgemeine Java-Themen 2
K JAR Datei Corrupt nach Kopieren Allgemeine Java-Themen 4
The Pi 2D-Grafik Tic Tac Toe nach Gewinn rot Allgemeine Java-Themen 1
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
C PDFBox: Nach RegEx ganze Zeile Allgemeine Java-Themen 4
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
L Suche nach CalDav Server API Allgemeine Java-Themen 0
K Java ruft Methoden nicht der Reihe nach auf Allgemeine Java-Themen 14
T Textarea nach nur 1 wort durchsuchen Allgemeine Java-Themen 3
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
K Auf einer Website nach einem String suchen Allgemeine Java-Themen 5
C Eclipse OutOfMemory nach dem exportieren Allgemeine Java-Themen 4
D Erste Schritte Array von einer forschleife nach ausserhalb trasferieren Allgemeine Java-Themen 3
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
B Bild aus Jar kann nach Export nicht mehr gefunden werden Allgemeine Java-Themen 13
B Umgebungsvariable Anpassen der Umgebungsvariablen nach Java-Update ? Allgemeine Java-Themen 14
H jid3lib nach schreiben keine Tags im Folder angezeigt Allgemeine Java-Themen 1
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
J Programm meldet "Keine Rückmeldung" nach Verbindung zum Server Allgemeine Java-Themen 4
E Java wird beendet nach paar Sekunden Allgemeine Java-Themen 14
H Best Practice setHeader in jsp nach RequestDispatcher.include Allgemeine Java-Themen 0
L Nach Button drücken den Text festspeichern Allgemeine Java-Themen 9
M .jar nach Datei prüfen Allgemeine Java-Themen 2
F String nach Schlüsselwörtern durchsuchen und ganze Zeile ausgeben Allgemeine Java-Themen 4
HarleyDavidson Input/Output Heruntergeladene Datei direkt nach dem Download öffnen ohne zu speichern Allgemeine Java-Themen 1
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1
VfL_Freak JDK installieren Problem mit Erstellungspfad nach Wechsel von Java7 auf Java8 Allgemeine Java-Themen 1
B Eclipse Nach Export einer .jar Fehler: Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 5
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
F JLabel nach 5 Sekunden wieder leeren Allgemeine Java-Themen 7
M Fasta nach Mustern durchsuchen dauert zu lange Allgemeine Java-Themen 2
J Bilder halb in falscher Farbe nach kopieren aus Web Allgemeine Java-Themen 3
Thallius Neuen Prozess starten, der auch nach Beedingung des Starter-Prozesses weiterläuft? Allgemeine Java-Themen 5
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
S Start des zweiten Threads erst nach Beenden des ersten Threads Allgemeine Java-Themen 13
A Funktionen aufrufen nach Schema x Allgemeine Java-Themen 2
G JavaFX Problem nach Update auf Java 8 Allgemeine Java-Themen 0
AssELAss String jeweils nach x Zeichen Zeilenumbruch Allgemeine Java-Themen 1
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben