开发者

In JCheckBoxMenuItem, how to make only the checkbox tickmark visible

开发者 https://www.devze.com 2023-03-17 00:33 出处:网络
In this image taken from eclipse, \"Build Automatically\" shows a tick开发者_如何转开发 mark without a checkbox. How can I create a similar effect to this with Java JCheckBoxMenuItems, where only th

In JCheckBoxMenuItem, how to make only the checkbox tickmark visible

In this image taken from eclipse, "Build Automatically" shows a tick开发者_如何转开发 mark without a checkbox. How can I create a similar effect to this with Java JCheckBoxMenuItems, where only the tickmark and not the checkbox are visible?


JCheckBoxMenuItem extends from AbstractButton so you should be able to provide custom Icons for the appropriate set???Icon methods.


The appearance is defined by BasicMenuItemUI, typically unique to each Look & Feel. You can supply your own variation that overrides paintMenuItem(). As doing so will violate the user's preferred Look & Feel, you'll have to decide if it's worth the effort.

Addendum: @camickr's Icon idea is more elegant, but you can always put a ✔ (U+2714) in the menu's text.


you can extend JCheckbox and override paintComponent()


You can do it with JMenuItem and an 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");
            }
        }

    });
0

精彩评论

暂无评论...
验证码 换一张
取 消