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.

È stato utile?

Soluzione

Cosa c'è di sbagliato in " evt.getID () " ;? Restituisce FOCUS_LOST o FOCUS_GAINED ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top