Bra*_*rad 6 java swing jpopupmenu jmenuitem
在我的Java swing应用程序中,我注意到当我在JPopupMenu中单击一个禁用的JMenuItem时它会隐藏菜单,但是我不想隐藏它,好像没有点击任何内容.有办法防止这种情况吗?
-----------------------------------> 更新:添加代码示例:
JMenuItem saveMenuItem = new JMenuItem();
saveMenuItem.setEnabled(false);
saveMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveMenuItemActionPerformed();
}
});
add(saveMenuItem);
private void saveMenuItemActionPerformed() {
System.out.println( "Save clicked." );
}
Run Code Online (Sandbox Code Playgroud)
这已经过测试并且有效。
外观和感觉决定如何处理禁用菜单项上的鼠标事件。无论如何,您可以使用自定义的MenuItem. 只需使用该代码(复制/粘贴):
public class CustomMenuItem extends JMenuItem {
public CustomMenuItem(String text) {
super(text);
}
public CustomMenuItem() {
super();
}
protected void processMouseEvent(MouseEvent e) {
if (isEnabled()) super.processMouseEvent(e);
}
}
Run Code Online (Sandbox Code Playgroud)
首先,调整代码以满足您的需求(可选)。
最后,将any替换JMenuItem为CustomMenuItem.
就是这样!
| 归档时间: |
|
| 查看次数: |
3527 次 |
| 最近记录: |