java 24 - 7 GUI之 创建多级菜单窗体

需求:
  创建多级菜单

步骤:
  A:创建窗体对象(并设置属性和布局)
  B:创建菜单栏
  C:创建菜单和子菜单
  D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中)
  E:窗体中设置菜单栏(菜单栏并不是添加,而是设置)
  F:设置各个菜单对应的监听事件
  G:设置窗体关闭监听时间
  H:设置显示窗口

代码:

  1 public class FrameText4 {
  2
  3     public static void main(String[] args) {
  4
  5         // 创建窗体对象
  6         final Frame f = new Frame("多级菜单");
  7         // 设置窗体属性
  8         f.setBounds(300, 300, 500, 500);
  9         f.setLayout(new FlowLayout());
 10
 11         //获取原来的标题
 12         final String str = f.getTitle();
 13
 14         // 创建菜单栏
 15         MenuBar m = new MenuBar();
 16
 17         // 创建菜单
 18         Menu m1 = new Menu("操作");
 19         Menu m2 = new Menu("更改标题");
 20
 21         // 创建子菜单
 22         final MenuItem mi1 = new MenuItem("N级菜单");
 23         final MenuItem mi2 = new MenuItem("M级菜单");
 24         MenuItem mi3 = new MenuItem("恢复标题");
 25         MenuItem mi4 = new MenuItem("退出");
 26         MenuItem mi5 = new MenuItem("打开记事本");
 27
 28         // 逐步添加
 29         // 子菜单添加到菜单中
 30         m2.add(mi1);
 31         m2.add(mi2);
 32         m2.add(mi3);
 33         m1.add(m2);
 34         m1.add(mi5);
 35         m1.add(mi4);
 36
 37         // 菜单添加到菜单栏中
 38         m.add(m1);
 39
 40         // 窗体中设置菜单栏
 41         f.setMenuBar(m);
 42
 43         // 设置各个菜单对应的监听事件
 44         mi1.addActionListener(new ActionListener() {
 45
 46             public void actionPerformed(ActionEvent e) {
 47                 // 更改标题栏的名称
 48                 // 为了以后方便修改,首先获取mi1菜单的名称,再进行更改
 49                 f.setTitle(mi1.getLabel());
 50                 // 把窗口的标题名称改为mi1的标签
 51             }
 52         });
 53
 54         mi2.addActionListener(new ActionListener(){
 55
 56             public void actionPerformed(ActionEvent e) {
 57                 //如mil1
 58                 f.setTitle(mi2.getLabel());
 59             }
 60
 61         });
 62
 63         mi3.addActionListener(new ActionListener(){
 64             //这个跟上面2个有所不同,因为是恢复原来的标题。
 65             //所以得在前面创建个字符串得到开始的标题,然后直接拿来更改就可以
 66             public void actionPerformed(ActionEvent e) {
 67                 f.setTitle(str);
 68             }
 69         });
 70
 71         //退出系统
 72         mi4.addActionListener(new ActionListener(){
 73
 74             public void actionPerformed(ActionEvent e) {
 75                 //退出系统
 76                 System.exit(0);
 77             }
 78
 79         });
 80
 81         //打开记事本
 82         mi5.addActionListener(new ActionListener(){
 83
 84             public void actionPerformed(ActionEvent e) {
 85                 //Runtime 使应用程序能够与其运行的环境相连接
 86                 //public static Runtime getRuntime()返回与当前 Java 应用程序相关的运行时对象。
 87                 //public Process exec(String command)在单独的进程中执行指定的字符串命令。
 88
 89                 Runtime r = Runtime.getRuntime();
 90                 try {
 91                     r.exec("notepad");
 92                 } catch (IOException e1) {
 93                     // TODO Auto-generated catch block
 94                     e1.printStackTrace();
 95                 }
 96
 97             }
 98
 99         });
100
101         //设置窗口关闭监听事件
102         f.addWindowListener(new WindowAdapter(){
103             public void windowClosing(WindowEvent e) {
104                 System.exit(0);
105             }
106         });
107
108         //使窗体显示
109         f.setVisible(true);
110     }
111
112 }
时间: 2024-12-15 11:01:05

java 24 - 7 GUI之 创建多级菜单窗体的相关文章

java 24 - 6 GUI之 创建只能输入数字的文本框

需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体关闭监听事件 设置显示窗体 代码: 1 public class FrameTest3 { 2 3 public static void main(String[] args) { 4 5 // 创建窗体对象 6 Frame f = new Frame("QQ号码"); 7 f.setBo

用jquery根据json动态创建多级菜单导航

HTML结构: <section class="sidebar"></setion> { "liClass": "active treeview", "link": "index2.html", "label": "结构预览", "iClass": "'fa fa-dashboard'", "c

原生JS封装创建多级菜单函数

手写一个使用原生JS封装的多级菜单的函数,满足以下几点需求. 子类层级不确定,可根据数据自动生成多级菜单. 操作便捷,只需传入一个HTML标签. 缺点: 需要满足特定的数据结构 废话不多说,展示代码.先展示数据代码,注意,使用此封装函数需要满足此数据结构. var data = [{ id: 1, address: "安徽", parent_id: 0 }, { id: 2, address: "江苏", parent_id: 0 }, { id: 3, addre

java 24 - 10 GUI 之 四则预算的数据校验

我想要在校验的过程中,如果输入到操作数中的不是数字,则弹出提醒框: 类 JOptionPane  有助于方便地弹出要求用户提供值或向其发出通知的标准对话框 方法名 描述 showConfirmDialog 询问一个确认问题,如 yes/no/cancel. showInputDialog 提示要求某些输入. showMessageDialog 告知用户某事已发生. showOptionDialog 上述三项的大统一 (Grand Unification). 在设置窗体类添加代码: 1 priva

java 24 - 11 GUI之制作登陆注册页面

简单说说,懒得发了... 步骤: A:首先写出登陆注册需要用到类以及代码(IO流) B:然后创建登陆窗口和注册窗口 C:各个监听事件: a:登录窗口 1.重置:把2个文本框的内容全部清空 2.注册:关闭登陆界面.跳转到注册界面(所以得把注册界面的main()方法全部注释掉,改成由这里跳转) 3.登陆:如IO流时的代码 b:注册窗口 1.注册:如IO流时的代码 2.取消:跳转回到登陆界面,关闭注册界面 D:..具体复习时看代码吧(本人用) 登陆窗口: 注册窗口:

黑马程序员——【Java基础】——GUI(图形用户界面)

一.概述 1.GUI(GraphicalUser Interface):又称图形用户界面,是计算机用户与计算机交互的一种方式. 2.用户与计算机交互的方式有两种:GUI和CLI. (1)GUI(Graphical User Interface):图形用户接口,用图形方式,来显示计算机操作界面,方便直观. (2)CLI(Command LineUser Interface):命令行用户接口,即常见的Dos命令行操作,须记住一些命令,操作不直观. 3.Java提供的GUI对象都存在于java.Awt

微信公众帐号开发-自定义菜单的创建及菜单事件响应

注:文章代码来源于柳峰的微信公众平台应用开发 微信开发公众平台自定义菜单需要花钱认证才能实现,不想花钱只能玩测试账号了,不过这并不影响开发.我的开发都是基于柳峰老师的微信公众平台应用开发做的. 只要我们使用公众平台测试账号就可以开发自定义菜单了,比较方便,测试账号开放了很多接口,很方便. 在开发自定义菜单的时候可以参考微信公众平台开发者文档的自定义菜单创建. 一.自定义菜单 1.自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单. 2.一级菜单最多4个汉字,二级菜单最多7个汉字,多

[038] 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应

微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3)使用QQ登录的公众号,可以升级为邮箱登录: 4)使用邮箱登录的公众号,可以修改登录邮箱: 5)编辑图文消息可选填作者: 6)群发消息可以同步到腾讯微博. 其中,大家议论最多的当属前两条,就是关于帐号类型和自定义菜单的更新,我这里做几点补充说明: 1)目前公众号类型分为两种:服务号和订阅号,8月5日

多级菜单生成使用springboot加vue实现

开发过程中,涉及到多级菜单的应用,找了一些资料案例实现如下(使用springboot+layui+oracle): 创建菜单表 : -- 创建菜单表create table wxmini_menus( menu_id number unique, --菜单ID menu_name varchar2(20), menu_url varchar2(200), menu_icon varchar2(100), parent_id number, --父菜单ID status varchar2(10),