java - JMenuItem.setSelected() 不会改变所选项目的外观?

标签 java swing jmenuitem jpopupmenu

我希望以编程方式使菜单上的特定项目被选中并显示,以便在按下 Enter 时执行相应的操作。不幸的是,我发现 JMenuItem.setSelected() 和 JPopupMenu.setSelectedItem() 都没有满足我的要求。基本上我想发生当按下箭头键或鼠标移入特定项目的空间时发生的事情 - 背景颜色改变,表明选择。我没有编程,它只是发生了。为什么这些 API 不做同样的事情?这让我抓狂。它不应该这么难。是否有一些 API 可以满足我的需求?

最佳答案

这有点奏效:

JMenuItem#setArmed(boolean);

尽管除非您遍历 JMenus 到达那里,否则您看不到它。也许如果你在它上面的每个菜单上调用它?

编辑: 也许您想要菜单项的加速器? 请参阅:How To Use Menus: Enabling Keyboard Operation

关于java - JMenuItem.setSelected() 不会改变所选项目的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839025/

相关文章:

java - 具有大量变异的矩阵的最佳数据结构

java - 使用 for 循环将字符串存储在交错数组中

java - 如何改变 JTextArea 中只有一个字符串的大小?

java - 为什么单击不相关的按钮时我的键绑定(bind)不起作用?

java - Swing - 最后一个 JMenuItem 占据 JMenuBar 上的其余空间

java - spring boot中如何设置缓存时间

java - 空字符串数组列表

java - 几个类似面板的GUI Java

在事件监听器中启用 Java 菜单项

java - 隐藏菜单栏时 JMenuItem 加速器不起作用