Ich weiß, dass ich sehen kann, ob ein bestimmtes Widget die Kontrolle in SWT hat, indem es isFocusControl()
darauf verwendet. Wenn mein erwartetes Widget jedoch keinen Fokus hat, wie kann ich dann feststellen, was (dh was hat den Fokus weggenommen)?Fokus in SWT bestimmen
Ich bin in der Lage, Tastaturereignisse mit Traverse-Listener zu behandeln, aber das Ändern des Fokus mit Mausklicks scheint meine Anwendung zu mystifizieren. Ich kann nicht herausfinden, wie ich den Gegenstand finde, der den Fokus auf den vorherigen Gegenstand gelegt hat.
Ich habe auch Probleme mit der zuverlässig Fokus auf ein anderes Widget aus einem FocusLost
Listener, wenn der Fokus von einem Mausereignis geändert wird.
Irgendwelche Vorschläge?
OK, das habe ich ausprobiert. Dies scheint ein Control zurückzugeben. Wenn ich toString() verwende, um zu lesen, welches Steuerelement den Fokus hat, sagt es einfach Text {}. Kann ich mehr Details von dieser Funktion erhalten? – Zoot
Welche Art von Detail? Warum rufen Sie keine der Getterfunktionen des Steuerelements auf, um mehr Details zu erhalten? – Daniel
Oder verwenden Sie die getParent() - Funktion, um zu sehen, wo in der Hierarchie es passt. – Daniel