【问题标题】:JRadioButtonMenuItem with a tick带有勾号的 JRadioButtonMenuItem
【发布时间】:2013-11-26 08:00:37
【问题描述】:

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

默认情况下,里面有一个点的圆圈将指示按钮的选定状态,但我只希望选定的菜单项旁边有一个老式的勾号,而未选定的项目旁边不显示任何内容。 (所有有问题的项目都是JRadioButtonMenuItem 类型)

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

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

但没有任何改变,没有抛出异常,我仍然坚持默认外观。

有什么想法吗?

【问题讨论】:

    标签: java swing jradiobutton


    【解决方案1】:

    您可以使用JCheckBoxMenuItem,而不是使用JRadioButtonMenuItem,它默认带有一个刻度线。 JCheckBoxMenuItems 也可以属于ButtonGroup,也可以为您提供JRadioButtonMenuItem 显示的单选行为。

    Example

    【讨论】:

    • @HovercraftFullOfEels :我们不能用JRadioButtonMenuItem 实现相同的行为,如JRadioButton 的示例所示。从未尝试过,尽管您提出的想法看起来令人鼓舞。
    • 感谢您的建议,是的,您可以使用单选按钮来完成,这就是我现在所拥有的。复选框项目没问题,但我会等着看是否有办法在接受你的答案之前只打勾(没有框)
    • @DanyKhalife 我在JRadioButtonMenuItem 上测试了setSelectedIcon 并确实看到了您描述的行为(或缺乏)。认为这是一个更简单的解决方案:)
    • 是的,这很奇怪,图标路径也应该与类路径相关,对吗?我同意,这暂时可以解决问题:)
    • 是的,通常使用getResource() 读取图标路径。看到这个post
    猜你喜欢
    • 2012-05-26
    • 2011-02-04
    • 1970-01-01
    • 2017-12-06
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2012-08-15
    相关资源
    最近更新 更多