Java是如何做带复选框的菜单
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇文章为大家展示了Java是如何做带复选框的菜单,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。说明:上面是我用Java做的扫雷游戏,其中就用到了带复选框式的
千家信息网最后更新 2025年01月19日Java是如何做带复选框的菜单
本篇文章为大家展示了Java是如何做带复选框的菜单,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
说明:
上面是我用Java做的扫雷游戏,其中就用到了带复选框式的菜单,原来也是用JCheckBoxMenuItem做的,但发现实在是问题多多,后干脆就用普通的JMenuItem来做,效果也不错。实际上说穿了很简单,就是在菜单的文本上做文章,前面加上一个 √ 即可。通过比较文本内容来判断是显示选中还是未选中,前面加还是不加 √ ,同时其他的文本内容如何变化,就好像扫雷的难度,初级、中级、高级只能选中一个。
代码:
package com.game.mine; import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JCheckBoxMenuItem; /** * 功能:游戏窗口
* 作者:我是小木鱼(Lag)
*/public class GameFrame extends JFrame implements ActionListener{ private static final long serialVersionUID = 2596945399892762751L; /** 游戏面板 */ private GamePanel gamePanel; /** 菜单控件 */ JMenuItem jmi_easy,jmi_normal,jmi_hard; /** * 功能:构造函数
*/ public GameFrame() { try { //窗口 this.setTitle("扫雷"); this.setLayout(null); this.setResizable(false); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //菜单 JMenuBar jmb_minesweeper = new JMenuBar(); JMenu jm_game = new JMenu("游戏"); jm_game.setFont(new Font("微软雅黑",Font.PLAIN,12)); JMenuItem jmi_new = jm_game.add(" 开局"); jmi_new.setFont(new Font("微软雅黑",Font.PLAIN,12)); jmi_new.addActionListener(this); jmi_new.setActionCommand("new"); jm_game.addSeparator(); this.jmi_easy = jm_game.add("√ 初级"); this.jmi_easy.setFont(new Font("微软雅黑",Font.PLAIN,12)); this.jmi_easy.addActionListener(this); this.jmi_easy.setActionCommand("easy"); this.jmi_normal = jm_game.add(" 中级"); this.jmi_normal.setFont(new Font("微软雅黑",Font.PLAIN,12)); this.jmi_normal.addActionListener(this); this.jmi_normal.setActionCommand("normal"); this.jmi_hard = jm_game.add(" 高级"); this.jmi_hard.setFont(new Font("微软雅黑",Font.PLAIN,12)); this.jmi_hard.addActionListener(this); this.jmi_hard.setActionCommand("hard"); jm_game.addSeparator(); JMenuItem jmi_exit = jm_game.add(" 退出"); jmi_exit.setFont(new Font("微软雅黑",Font.PLAIN,12)); jmi_exit.addActionListener(this); jmi_exit.setActionCommand("exit"); jmb_minesweeper.add(jm_game); JMenu jm_help = new JMenu("帮助"); jm_help.setFont(new Font("微软雅黑",Font.PLAIN,12)); JMenuItem jmi_about = jm_help.add("关于"); jmi_about.setFont(new Font("微软雅黑",Font.PLAIN,12)); jmi_about.addActionListener(this); jmi_about.setActionCommand("about"); jmb_minesweeper.add(jm_help); this.setJMenuBar(jmb_minesweeper); //面板 this.gamePanel = new GamePanel(); this.add(this.gamePanel); //显示 this.gamePanel.setLevel(this.gamePanel.EASY); this.setSize(this.gamePanel.getWidth() + 6,this.gamePanel.getHeight() + 50); this.setVisible(true); } catch(Exception e) { JOptionPane.showMessageDialog(this,"程序出现异常错误,即将退出!\r\n\r\n"+e.toString(),"提示",JOptionPane.ERROR_MESSAGE); System.exit(0); } } /** * 功能:事件监听
*/ @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if("new".equals(command)) { this.gamePanel.newGame(); } else if("easy".equals(command)) { this.jmi_easy.setText("√ 初级"); this.jmi_normal.setText(" 中级"); this.jmi_hard.setText(" 高级"); this.gamePanel.setLevel(this.gamePanel.EASY); this.setSize(this.gamePanel.getWidth() + 6,this.gamePanel.getHeight() + 50); } else if("normal".equals(command)) { this.jmi_easy.setText(" 初级"); this.jmi_normal.setText("√ 中级"); this.jmi_hard.setText(" 高级"); this.gamePanel.setLevel(this.gamePanel.NORMAL); this.setSize(this.gamePanel.getWidth() + 6,this.gamePanel.getHeight() + 50); } else if("hard".equals(command)) { this.jmi_easy.setText(" 初级"); this.jmi_normal.setText(" 中级"); this.jmi_hard.setText("√ 高级"); this.gamePanel.setLevel(this.gamePanel.HARD); this.setSize(this.gamePanel.getWidth() + 6,this.gamePanel.getHeight() + 50); } else if("exit".equals(command)) { System.exit(0); } else if("about".equals(command)) { JOptionPane.showMessageDialog(this,"我是小木鱼(Lag)","提示",JOptionPane.INFORMATION_MESSAGE); } } }
上述内容就是Java是如何做带复选框的菜单,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
微软
菜单
高级
内容
复选框
功能
文本
扫雷
就是
技能
木鱼
知识
还是
面板
提示
不错
普通
简明
简明扼要
事件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库更改保持路径
软件测试数据库技术面试题
校园安全网络安全应急预案
如何往数据库批量导入数据
ubjntu 服务器
重庆长寿生鲜软件开发
网络安全等级保护与网络安全保卫
不能在服务器制霸
企业委托软件开发
银行软件开发需求
小众的服务器
网站服务器可以自动开启吗
sql数据库移动
软件开发销售人员 考核
贵州众易帮互联网科技
关系数据库中关系对应的是什么
我的世界服务器怎么保护好主城
陈国升 计算机网络技术
爱吾游戏宝盒服务器
计算机网络安全的重要性200字
动态代理数据库连接
东南大学网络安全录取
同江市天气预报软件开发
sql数据库技术 总结
虎牙官方服务器地址
amule 自建服务器
互联网科技电商资讯
国际服无法连接服务器是怎么回事
淄博染色软件开发公司
火车头修改数据库密码