【问题标题】:Detecting mouse click on JPanel even when the click is on the panel's child即使单击是在面板的子级上,也检测到 JPanel 上的鼠标单击
【发布时间】:2011-10-17 21:50:57
【问题描述】:

我的代码有一个 JPanel,其中包含一个覆盖大部分 JPanel 的 JTextPane。如果事件发生在面板中的任何位置,我想检测鼠标单击,但 JTextPane 会阻止该事件,除非我为它注册一个侦听器。是否有一些简单的方法可以在不为每个孩子添加听众的情况下观察事件?

【问题讨论】:

标签: java swing


【解决方案1】:

您可以使用Global Event Listener 来监听鼠标事件。

你可以使用:

SwingUtilities.isDescendingFrom(...);

帮助确定生成事件的组件是否是面板的子组件。

【讨论】:

  • 回答问题是一种很好的学习方式。您可以在论坛中获取提示并了解其他人的课程。每当我听说一个新类时,我都会查看 API 中可能有用的其他方法。当然,问题是当你不一直使用它们时要记住它们:)
猜你喜欢
  • 2016-04-22
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多