当前位置: 首页 > 教程 > Java Swing >

Java JCheckBoxMenuItem

精华
小牛编辑
121浏览
2023-03-14

1 Java JCheckBoxMenuItem的介绍

JCheckBoxMenuItem类表示可以包含在菜单中的复选框。CheckBoxMenuItem可以具有与之关联的文本或图形图标,或两者都有。可以选择或取消选择MenuItem。MenuItem可以通过操作进行配置和控制。

2 Java JCheckBoxMenuItem的内部类

描述
JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem 这个类实现对JCheckBoxMenuItem类的可访问性支持。

3 Java JCheckBoxMenuItem的构造方法

方法 描述
JCheckBoxMenuItem() 创建一个初始未选择的复选框菜单项,没有设置文本或图标。
JCheckBoxMenuItem(Action a) 创建一个菜单项,其属性来自提供的操作。
JCheckBoxMenuItem(Icon icon) 创建带有图标的最初未选中的复选框菜单项。
JCheckBoxMenuItem(String text) 创建带有文本的初始未选择的复选框菜单项。
JCheckBoxMenuItem(String text, boolean b) 使用指定的文本和选择状态创建一个复选框菜单项。
JCheckBoxMenuItem(String text, Icon icon) 使用指定的文本和图标创建最初未选中的复选框菜单项。
JCheckBoxMenuItem(String text, Icon icon, boolean b) 使用指定的文本,图标和选择状态创建一个复选框菜单项。

4 Java JCheckBoxMenuItem的方法

方法 描述
AccessibleContext getAccessibleContext() 获取与此JCheckBoxMenuItem关联的AccessibleContext。
Object[] getSelectedObjects() 返回一个包含复选框菜单项标签的数组(长度为1);如果未选中该复选框,则返回null。
boolean getState() 返回项目的选择状态。
String getUIClassID() 返回呈现此组件的L&F类的名称。
protected String paramString() 返回此JCheckBoxMenuItem的字符串表示形式。
void setState(boolean b) 设置项目的选择状态。

5 Java JCheckBoxMenuItem的案例

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;  
import java.awt.event.KeyEvent;  
import javax.swing.AbstractButton;  
import javax.swing.Icon;  
import javax.swing.JCheckBoxMenuItem;  
import javax.swing.JFrame;  
import javax.swing.JMenu;  
import javax.swing.JMenuBar;  
import javax.swing.JMenuItem;  
  
public class JavaCheckBoxMenuItem {  
    public static void main(final String args[]) {  
        JFrame frame = new JFrame("JCheckBoxMenuItem案例-小牛知识库网");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        JMenuBar menuBar = new JMenuBar();  
        // File Menu, F - Mnemonic  
        JMenu fileMenu = new JMenu("File");  
        fileMenu.setMnemonic(KeyEvent.VK_F);  
        menuBar.add(fileMenu);  
        // File->New, N - Mnemonic  
        JMenuItem menuItem1 = new JMenuItem("Open", KeyEvent.VK_N);  
        fileMenu.add(menuItem1);  
  
        JCheckBoxMenuItem caseMenuItem = new JCheckBoxMenuItem("Option_1");  
        caseMenuItem.setMnemonic(KeyEvent.VK_C);  
        fileMenu.add(caseMenuItem);  
  
        ActionListener aListener = new ActionListener() {  
            public void actionPerformed(ActionEvent event) {  
                AbstractButton aButton = (AbstractButton) event.getSource();  
                boolean selected = aButton.getModel().isSelected();  
                String newLabel;  
                Icon newIcon;  
                if (selected) {  
                    newLabel = "Value-1";  
                } else {  
                    newLabel = "Value-2";  
                }  
                aButton.setText(newLabel);  
            }  
        };  
  
        caseMenuItem.addActionListener(aListener);  
        frame.setJMenuBar(menuBar);  
        frame.setSize(350, 250);  
        frame.setVisible(true);  
    }  
}  

输出结果为: