我实现了一个 EventQueue 并在发送 AWTEvent 时收到通知。我等待 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();

您知道这个问题的另一种解决方案吗?

有帮助吗?

解决方案

“evt.getID()”有什么问题?它返回 FOCUS_LOST 或者 FOCUS_GAINED?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top