Avr*_*gon 2 java swing jpopupmenu jmenuitem jpopup
我想在屏幕上突出显示一些元素,当选择PopupMenu中的一个JMenuItem时(鼠标悬停).所以我在我的JMenuItem上使用MouseListener
@Override
public void mouseEntered(MouseEvent e) {
highlightOn();
}
@Override
public void mouseExited(MouseEvent e) {
highlightOff();
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如果我按Esc弹出菜单将关闭,而不清理highligt.我如何拦截JPopupMenu的关闭来处理这个问题?
像这样的东西应该做的伎俩:
myPopupMenu.addPopupMenuListener(new PopupMenuListener {
public void popupMenuCanceled(PopupMenuEvent popupMenuEvent) {
highlightOff();
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent popupMenuEvent) {
highlightOff();
}
public void popupMenuWillBecomeVisible(PopupMenuEvent popupMenuEvent) {}
}
Run Code Online (Sandbox Code Playgroud)
只需记住在使侦听器可见之前或在其构造函数中添加侦听器.