【问题标题】:Detect whether FocusEvent of component is lost or gained检测组件的 FocusEvent 是否丢失或获得
【发布时间】:2010-09-24 23:10:33
【问题描述】:

我实现了一个 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();

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

【问题讨论】:

    标签: java swing events awt


    【解决方案1】:

    “evt.getID()”有什么问题?它返回FOCUS_LOSTFOCUS_GAINED?

    【讨论】:

    • 当您想在办公室的最后几分钟实施某些事情时,您有时会发疯。非常感谢。
    • @Markus - 我知道这种感觉很好。很高兴能提供帮助。
    猜你喜欢
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2012-11-12
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多