我实现了一个 EventQueue 并在发送 AWTEvents 时收到通知。我等到 FocusEvent 的实例被发送到 dispatchEvent 方法。
FocusEvent 本身没有方法来询问组件的焦点是获得还是丢失。方法 paramString 返回一个放置信息的字符串,但我不想破解或解析字符串。一个 contains 调用可以给我答案,但返回的 String 不是常数,所以它将来可能会改变。
FocusEvent 的 paramString 方法如下:
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();
你知道这个问题的另一种解决方案吗?