带有勾选标记的 JRadioButtonMenuItem

3

我想知道在Java Swing中是否有可能更改默认单选按钮菜单项的外观。

默认情况下,圆圈内带有一个点表示按钮的选定状态,但我只想要旧式的勾选标记显示在所选菜单项旁边,并且未选择的项目旁边不显示任何内容。(所有相关项目都是JRadioButtonMenuItem类型)

我尝试使用.setSelectedIcon(...),可以在此处找到:

http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setSelectedIcon(javax.swing.Icon)

但是没有任何改变,也没有抛出异常,我仍然被默认外观所困扰。
有任何想法吗?
1个回答

6

如果不使用JRadioButtonMenuItem,您可以使用默认带有勾选标记的JCheckBoxMenuItemJCheckBoxMenuItems也可以属于ButtonGroup,从而显示与JRadioButtonMenuItem相同的单选行为。

示例


@HovercraftFullOfEels:我们不能使用JRadioButtonMenuItem实现与您的JRadioButton示例相同的行为吗?虽然我从未尝试过,但你提出的想法看起来很有希望。 - nIcE cOw
谢谢您的建议,是的,您可以使用单选按钮来实现,这就是我目前所拥有的。复选框项目也可以,但我会等待看看是否有一种方法在接受您的答案之前只打勾(而不是打勾框)。 - Dany Khalife
@DanyKhalife 我测试了 JRadioButtonMenuItem 上的 setSelectedIcon 并看到了你描述的行为(或缺乏行为)。我认为这是一个更简单的解决方案 :) - Reimeus
是的,这很奇怪,图标路径也应该相对于类路径,对吧?我同意,现在这样做就可以了 :) - Dany Khalife
是的,通常使用getResource()来读取图标路径。请参考这个帖子 - Reimeus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接