我实现了EventQueue并在发送AWTEvent时得到通知。
我等到FocusEvent的实例发送到dispatchEvent方法。

FocusEvent本身没有方法询问组件的焦点是获取还是丢失。
方法paramString返回一个放置信息的字符串,但是我不想破解或解析该字符串。包含调用可以给我答案,但是返回的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();


您知道此问题的另一种解决方案。

最佳答案

“ evt.getID()”怎么了?返回FOCUS_LOST还是FOCUS_GAINED

10-08 09:25