java创建windows窗体的示例代码

java创建windows窗体的示例代码

  • 如果是有三级菜单 最后一级菜单是JMenuItem 它的上级和上级的上级的菜单都是JMenu
		/*
         * 创建一个菜单栏
         */
        JMenuBar menuBar = new JMenuBar();

        /*
         * 创建一级菜单
         */
        JMenu fileMenu = new JMenu("文件");
        JMenu editMenu = new JMenu("编辑");
        JMenu viewMenu = new JMenu("视图");
        JMenu aboutMenu = new JMenu("关于");
        // 一级菜单添加到菜单栏
        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        menuBar.add(viewMenu);
        menuBar.add(aboutMenu);

        /*
         * 创建 "文件" 一级菜单的子菜单
         */
        JMenuItem newMenuItem = new JMenuItem("新建");
        JMenuItem openMenuItem = new JMenuItem("打开");
        JMenuItem exitMenuItem = new JMenuItem("退出");
        // 子菜单添加到一级菜单
        fileMenu.add(newMenuItem);
        fileMenu.add(openMenuItem);
        fileMenu.addSeparator();       // 添加一条分割线
        fileMenu.add(exitMenuItem);

        /*
         * 创建 "编辑" 一级菜单的子菜单
         */
        JMenuItem copyMenuItem = new JMenuItem("复制");
        JMenuItem pasteMenuItem = new JMenuItem("粘贴");
        // 子菜单添加到一级菜单
        editMenu.add(copyMenuItem);
        editMenu.add(pasteMenuItem);

        /*
         * 创建 "视图" 一级菜单的子菜单
         */
        final JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("复选框子菜单");
        final JRadioButtonMenuItem radioButtonMenuItem01 = new JRadioButtonMenuItem("单选按钮子菜单01");
        final JRadioButtonMenuItem radioButtonMenuItem02 = new JRadioButtonMenuItem("单选按钮子菜单02");
        // 子菜单添加到一级菜单
        viewMenu.add(checkBoxMenuItem);
        viewMenu.addSeparator();                // 添加一个分割线
        viewMenu.add(radioButtonMenuItem01);
        viewMenu.add(radioButtonMenuItem02);

        // 其中两个 单选按钮子菜单,要实现单选按钮的效果,需要将它们放到一个按钮组中
        ButtonGroup btnGroup = new ButtonGroup();
        btnGroup.add(radioButtonMenuItem01);
        btnGroup.add(radioButtonMenuItem02);

        // 默认第一个单选按钮子菜单选中
        radioButtonMenuItem01.setSelected(true);

        /*
         * 菜单项的点击/状态改变事件监听,事件监听可以直接设置在具体的子菜单上(这里只设置其中几个)
         */
        // 设置 "新建" 子菜单被点击的监听器
        newMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("新建  被点击");
            }
        });
        // 设置 "打开" 子菜单被点击的监听器
        openMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("打开  被点击");
            }
        });
        // 设置 "退出" 子菜单被点击的监听器
        exitMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("退出  被点击");
            }
        });

        // 设置 复选框子菜单 状态改变 监听器
        checkBoxMenuItem.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                System.out.println("复选框是否被选中: " + checkBoxMenuItem.isSelected());
            }
        });

        // 设置 单选按钮子菜单 状态改变 监听器
        radioButtonMenuItem01.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                System.out.println("单选按钮01 是否被选中: " + radioButtonMenuItem01.isSelected());
            }
        });
 
    }	
	
	//以上代码JDK版较低时使用 JDK8以后使用Lambda表达式代替一部分
	
		/*
	     * 创建一个菜单栏
	     */
	    JMenuBar menuBar = new JMenuBar();
	
	    /*
	     * 创建一级菜单
	     */
	    JMenu fileMenu = new JMenu("文件");
	    JMenu editMenu = new JMenu("编辑");
	    JMenu viewMenu = new JMenu("视图");
	    JMenu aboutMenu = new JMenu("关于");
	    // 一级菜单添加到菜单栏
	    menuBar.add(fileMenu);
	    menuBar.add(editMenu);
	    menuBar.add(viewMenu);
	    menuBar.add(aboutMenu);
	
	    /*
	     * 创建 "文件" 一级菜单的子菜单
	     */
	    JMenuItem newMenuItem = new JMenuItem("新建");
	    JMenuItem openMenuItem = new JMenuItem("打开");
	    JMenuItem exitMenuItem = new JMenuItem("退出");
	    // 子菜单添加到一级菜单
	    fileMenu.add(newMenuItem);
	    fileMenu.add(openMenuItem);
	    fileMenu.addSeparator();       // 添加一条分割线
	    fileMenu.add(exitMenuItem);
	
	    /*
	     * 创建 "编辑" 一级菜单的子菜单
	     */
	    JMenuItem copyMenuItem = new JMenuItem("复制");
	    JMenuItem pasteMenuItem = new JMenuItem("粘贴");
	    // 子菜单添加到一级菜单
	    editMenu.add(copyMenuItem);
	    editMenu.add(pasteMenuItem);
	
	    /*
	     * 创建 "视图" 一级菜单的子菜单
	     */
	    final JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("复选框子菜单");
	    final JRadioButtonMenuItem radioButtonMenuItem01 = new JRadioButtonMenuItem("单选按钮子菜单01");
	    final JRadioButtonMenuItem radioButtonMenuItem02 = new JRadioButtonMenuItem("单选按钮子菜单02");
	    // 子菜单添加到一级菜单
	    viewMenu.add(checkBoxMenuItem);
	    viewMenu.addSeparator();                // 添加一个分割线
	    viewMenu.add(radioButtonMenuItem01);
	    viewMenu.add(radioButtonMenuItem02);
	
	    // 其中两个 单选按钮子菜单,要实现单选按钮的效果,需要将它们放到一个按钮组中
	    ButtonGroup btnGroup = new ButtonGroup();
	    btnGroup.add(radioButtonMenuItem01);
	    btnGroup.add(radioButtonMenuItem02);
	
	    // 默认第一个单选按钮子菜单选中
	    radioButtonMenuItem01.setSelected(true);
	
	    /*
	     * 菜单项的点击/状态改变事件监听,事件监听可以直接设置在具体的子菜单上(这里只设置其中几个)
	     */
	    // 设置 "新建" 子菜单被点击的监听器
	    newMenuItem.addActionListener(e -> {
	        
	            System.out.println("新建  被点击");
	        
	    });
	    // 设置 "打开" 子菜单被点击的监听器
	    openMenuItem.addActionListener(e -> {
	       
	            System.out.println("打开  被点击");
	        
	    });
	    // 设置 "退出" 子菜单被点击的监听器
	    exitMenuItem.addActionListener(e ->{
	       
	            System.out.println("退出  被点击");
	        
	    });
	
	    // 设置 复选框子菜单 状态改变 监听器
	    checkBoxMenuItem.addChangeListener(e -> {
	      
	            System.out.println("复选框是否被选中: " + checkBoxMenuItem.isSelected());
	        
	    });
	
	    // 设置 单选按钮子菜单 状态改变 监听器
	    radioButtonMenuItem01.addChangeListener(e ->{
	        
	            System.out.println("单选按钮01 是否被选中: " + radioButtonMenuItem01.isSelected());
	       
	    });
	
	}  
	
```
	
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值