Ich implementiere eine EventQueue und werde benachrichtigt, wenn AWTEvents gesendet werden. Ich warte, bis Instanzen von FocusEvent an die dispatchEvent-Methode gesendet werden.
Das FocusEvent selbst hat keine Methode, um zu fragen, ob der Fokus der Komponente gewonnen oder verloren wurde. Die Methode paramString gibt einen String zurück, in dem die Information steht, aber ich möchte den String nicht hacken oder parsen. Ein contains-Aufruf kann mir die Antwort geben, aber der zurückgegebene String ist keine Konstante, er könnte sich also in Zukunft ändern.
Die paramString-Methode von FocusEvent ist wie folgt:
switch(id) {
case FOCUS_GAINED:
typeStr = "FOCUS_GAINED";
break;
case FOCUS_LOST:
typeStr = "FOCUS_LOST";
break;
default:
typeStr = "unknown type";
}
return typeStr + (temporary ? ",temporary" : ",permanent") +
",opposite=" + getOppositeComponent();
Kennen Sie eine andere Lösung für dieses Problem?