Rileva se FocusEvent del componente è perso o guadagnato
Domanda
Sto implementando EventQueue e ricevo una notifica quando vengono inviati AWTEvents. Attendo fino a quando le istanze di FocusEvent non vengono inviate al metodo dispatchEvent.
FocusEvent da solo non ha un metodo per chiedere se il focus del componente viene guadagnato o perso. Il metodo paramString restituisce una stringa in cui sono inserite le informazioni, ma non voglio hackerare o analizzare la stringa. Una chiamata contiene può darmi la risposta, ma la stringa Restituisce non è costante, quindi potrebbe cambiare in futuro.
Il metodo paramString di FocusEvent è simile a:
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();
Conosci un'altra soluzione per questo problema.
Soluzione
Cosa c'è di sbagliato in " evt.getID () " ;? Restituisce FOCUS_LOST
o FOCUS_GAINED
?