【问题标题】:Java alternatives to AWT to capture mouse events?Java 替代 AWT 来捕获鼠标事件?
【发布时间】:2015-06-08 19:31:21
【问题描述】:

在 Java 中是否有 AWT 的替代方法来获取鼠标按下事件?

【问题讨论】:

  • 只是好奇还是您对 AWT 事件有疑问?
  • eclipse rcp、swings等
  • 是的,它出现在 Windows 7 AWT mousePressed 事件在使用触摸屏设备时延迟 5 秒(或直到您释放)。我需要能够按住按钮但还没有找到方法来做到这一点。
  • 你考虑过JavaFX吗?它是触摸屏设备的更好选择,还是您绝对必须使用 AWT?
  • 绝对要用 Swing

标签: java awt


【解决方案1】:

鼠标事件意味着有一个窗口/框架发生了事件。通常,每个 GUI 工具包都有自己的事件侦听器/调度器列表。所以问题应该是:“AWT 的替代品有哪些?”

  1. Swing。您可以阅读 AWT 和 Swing here 之间的区别。 (答案还提到SWT

最后,您可能还想查看 SWT(使用的 GUI 工具包 对于 Eclipse,以及 AWT 和 Swing 的替代方案),它是 有点回归到 AWT 访问本机小部件的想法 通过 Java。

  1. 还有 JavaFX,它是一个更丰富的图形框架,在某种程度上是 Swing 的继承者。您可以在 Oracle JavaFX 官方页面here 上阅读。

如果我们在谈论特定的框架,那么(据我所知,他们仍然在下面使用 AWT 事件系统):

  1. JMonkey 游戏引擎。 Official Page

  2. LWJGL。轻量级 java 游戏库。 Official Page

可能还有其他框架,但似乎核心功能来自 AWT 来处理本地鼠标查询。

【讨论】:

  • 另一个值得注意的替代品是 qtjambi,它是用于 Java 的 QT
  • 我有一个 Swing GUI,但 AWT mousePressed 事件让我失败了,所以想看看是否有另一个工具包可以用来为 swing GUI 而不是 AWT 获取这些事件。
【解决方案2】:

由于我在这方面发现了很多未答复的主题,因此我将分享解决方案。结果是 Windows 7 默认将 Java 设置为 wm_gesture 而不是 wm_touch 事件,因此 AWT 不会按预期获取新闻事件。您需要做的是使用JNA将窗口注册为触摸窗口(@98​​7654321@)。

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    相关资源
    最近更新 更多