0

在此处输入图像描述

在这张取自 Eclipse 的图像中,“自动构建”显示了一个不带复选框的刻度线。如何使用 Java JCheckBoxMenuItems 创建与此类似的效果,其中只有勾号而不是复选框可见?

4

4 回答 4

2

外观由 定义BasicMenuItemUI,通常是每个外观和感觉所独有的。您可以提供自己的变体来覆盖paintMenuItem(). 由于这样做会违反用户首选的外观和感觉,因此您必须决定是否值得付出努力。

附录:@camickr 的Icon想法更优雅,但您始终可以在菜单文本中添加✔ (U+2714) 。

于 2011-07-04T19:12:58.900 回答
2

JCheckBoxMenuItem 从 AbstractButton 扩展,因此您应该能够为适当的集合提供自定义图标?图标方法。

于 2011-07-04T21:16:00.247 回答
-1

您可以扩展 JCheckbox 并覆盖 paintComponent()

于 2011-07-04T17:57:35.913 回答
-1

您可以使用 JMenuItem 和 ActionListener 来完成:

JMenuItem jcmi1 = new JMenuItem("   Choix 1");

jcmi1.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent arg0) {
            if (jcmi1.getText()!="\u2714  Choix 1"){
                jcmi1.setText("\u2714  Choix 1");
            }else{
                jcmi1.setText("   Choix 1");
            }
        }

    });
于 2016-02-16T14:42:15.123 回答