【发布时间】:2020-04-11 17:00:14
【问题描述】:
我正在为 IntelliJ IDEA 开发一个插件,它显然使用了 Swing。
对于我介绍的功能,我想阻止使用 JCheckBoxMenuItems 的 JPopupMenu 失去焦点并关闭。
您可以看到它的实际效果。
我已经调试了代码,但我不知道该怎么做,因为我也不是 那个 喜欢 Swing。
您能否向我指出有用的侦听器/代码块/防止这种情况的方法?
如果你想看代码,IntelliJ 类是
ActionPopupMenuImpl.MyMenu
ActionMenuItem
【问题讨论】:
-
签出:Keeping Menus Open。您也许可以使用这些类。
-
@camickr 谢谢!我会告诉你。需要试验。
-
@camickr 因为我不能继承 IDEA 类(或者更好的是,我不能更改哪个类被实例化),因此不能覆盖 doClick,也许我可以拦截点击事件通过监听 ButtonModel (setPressed/setArmed) 上的事件。你怎么看?
-
我不会让 IDE 决定我能做什么或不能做什么。 IDE 应该只用于帮助您调试代码等。它不应该用于生成您的代码。如果您编写自己的代码,则可以完全控制。我没有编写代码,所以我不知道解决方法可能是什么。
-
@camickr 我的意思是我不能继承 IntelliJ IDEA 核心代码,所以我只能通过监听事件来工作
标签: java swing intellij-idea