Java Swing OSX 窗口菜单复选标记

Posted

技术标签:

【中文标题】Java Swing OSX 窗口菜单复选标记【英文标题】:Java Swing OSX Window Menu Checkmark 【发布时间】:2012-05-08 11:19:41 【问题描述】:

将复选标记(勾选)添加到窗口菜单上活动窗口的 MenuItem 的最佳方法是什么?

是否有执行此操作的标准图标(以及最小化窗口的菱形)?

【问题讨论】:

continuation here 【参考方案1】:

这里有一篇关于获取 OS X 系统特定图标的精彩文章:

http://nadeausoftware.com/articles/2008/12/mac_java_tip_how_access_mac_specific_nsimage_icons

你想要的图标是“复选标记”,你可以用这个得到它:

final Icon checkmarkIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage( "NSImage://NSMenuOnStateTemplate" ));

然后,您想将该图标添加为您的 JMenuItem 中的 selectedIcon:

JMenuItem myOSXMenuItem = new JMenuItem("My Menu Item");
myOSXMenuItem.setSelectedIcon(checkmarkIcon);

当您在应用程序中打开新窗口时,您可以手动维护此菜单和复选标记状态,方法是在窗口菜单中添加/删除项目,并使用菜单项上的 setSelected() 方法设置当前窗口。

【讨论】:

谢谢戴夫,我会在接下来的几天里尝试一下(目前非常忙于不相关的任务)......

以上是关于Java Swing OSX 窗口菜单复选标记的主要内容,如果未能解决你的问题,请参考以下文章

MFC 菜单项复选框行为

java的swing组件的使用

Java Swing 应用程序到 OSX 的可移植性

Openlayers - 侧边栏中的复选框事件

如何在 Freemarker 模板中标记复选框

摆动菜单 Java 7 mac osx