В JCheckBoxMenuItem, как сделать видимой только галочку - PullRequest
0 голосов
/ 04 июля 2011

enter image description here

На этом снимке, взятом из затмения, «Автоматически строить» показывает галочку без флажка.Как я могу создать подобный эффект для этого с Java JCheckBoxMenuItems, где видны только галочка, а не флажок?

Ответы [ 4 ]

2 голосов
/ 04 июля 2011

Внешний вид определяется как BasicMenuItemUI, как правило, уникальный для каждого внешнего вида. Вы можете указать свой вариант, который переопределяет paintMenuItem(). Поскольку это приведет к нарушению предпочтений пользователя Look & Feel, вам придется решить, стоит ли оно усилий.

Приложение: @ camickr Icon идея более элегантна, но вы всегда можете вставить ✔ (U + 2714) в текст меню.

2 голосов
/ 05 июля 2011

JCheckBoxMenuItem расширяется от AbstractButton, поэтому вы должны иметь возможность предоставлять собственные значки для соответствующего набора ??? Методы значков.

0 голосов
/ 16 февраля 2016

Вы можете сделать это с помощью 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");
            }
        }

    });
0 голосов
/ 04 июля 2011

вы можете расширить JCheckbox и переопределить paintComponent ()

...