标签: java swing intellij-idea
我正在为IntelliJ IDEA开发一个插件,该插件显然使用了Swing。 对于我介绍的一项功能,我想阻止使用JPopupMenu的{{1}}失去焦点并关闭。 您可以看到它的运行情况。
JPopupMenu
我已经调试了代码,但是我不知道该怎么做,因为我不是那个到Swing。 您能否指出我有用的侦听器/代码块/方式来防止这种情况?
如果您想查看代码,则IntelliJ类是
JCheckBoxMenuItem
答案 0 :(得分:0)
编辑:需要找到一种更好的方法,因为uiRefreshed事件并非总是在正确的时间调用。 只需很好地协调您的代码;)
uiRefreshed
IDEA中的Swing机制太复杂了,最好不要碰它。只是知道鼠标事件是由特殊的侦听器处理的,然后重定向到组件。
也就是说,按住菜单ActionButton。您可以通过编程方式收听Lookup的{{1}}事件:
ActionButton
Lookup
仅此而已。 您需要在刷新UI后调用它,因为myMenuButton.click() 的尺寸或位置可能已更改。
myMenuButton.click()