Java程序设计 图形用户界面 【十三】菜单
Java程序设计 图形用户界面 【十三】菜单
菜单组件
JMenu与JMenuBar
菜单
JMenuBar组件的功能是用来摆放JMenu组件,当建立完多个JMenu组件之后,需要通过JMenuBar组件来将JMenu组件加入到窗口中
JMenuBar
方法 | 作用 |
---|---|
public JMenuBar() | 创建新的JMenuBar对象 |
public JMenu add(JMenu e) | 将指定的JMenu加入到JMenuBar中 |
public JMenu getMenu(int index) | 返回指定位置的菜单 |
public int getMenuCount() | 返回菜单栏上的菜单数 |
JMenu
方法 | 作用 |
---|---|
public JMenu(String s) | 创建新的JMenu,并指定菜单名称 |
public JMenuItem add(JMenuItem menuItem) | 增加新的菜单项 |
public void addSeparator() | 加入分隔线 |
构建菜单演示:
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class Hello {public static void main(String[] args) {JFrame frame = new JFrame("一");JTextArea text = new JTextArea();text.setEditable(true);frame.getContentPane().add(new JScrollPane(text));JMenu file = new JMenu("文件(F)");JMenuBar menuBar = new JMenuBar();menuBar.add(file);frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {super.windowClosing(e);System.exit(1);}});frame.setJMenuBar(menuBar);frame.setVisible(true);frame.setSize(300,200);frame.setLocation(500,500);}
}
建立了一个JMenu,然后将JMenu的对象加入到JMenuBar中,再通过JFrame中的setJMenuBar()方法将此菜单栏加入到窗体上
JMenuItem
使用JMenuItem组件在菜单中加入菜单项
JMenuItem继承AbstractButton类,因此JMenuItem也可以理解为一种特殊的JButton组件,当选择某个菜单项时也会触发ActionEvent事件
JMenuItem类
方法 | 作用 |
---|---|
public JMenuItem(Icon icon) | 创建带有图标的JMenuItem |
public JMenuItem(String text) | 创建带有指定文本的JMenuItem |
public JMenuItem(String text,Icon icon) | 创建带有指定文本和图标的JMenuItem |
public JMenuItem(String text,int mnemonic) | 创建带有指定文本的JMenuItem,并指定助记符 |
public void setMnemonic(int mnemonic) | 指定菜单项的助记符 |
public void setAccelerator(KeyStroke keyStroke) | 设置快捷键的组合键 |
import sun.security.krb5.internal.crypto.KeyUsage;import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class Hello {public static void main(String[] args) {JFrame frame = new JFrame("一");JTextArea text = new JTextArea();text.setEditable(true);JMenu file = new JMenu("文件");JMenuBar menuBar = new JMenuBar();JMenuItem newItem = new JMenuItem("新建");JMenuItem openItem = new JMenuItem("打开");newItem.setMnemonic('N');openItem.setMnemonic('O');newItem.setAccelerator(KeyStroke.getKeyStroke('N', Event.CTRL_MASK));openItem.setAccelerator(KeyStroke.getKeyStroke('O', Event.CTRL_MASK));file.add(newItem);file.add(openItem);menuBar.add(file);frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {super.windowClosing(e);System.exit(1);}});frame.setJMenuBar(menuBar);frame.setVisible(true);frame.setSize(300,200);frame.setLocation(300,300);}
}
事件处理
JMenuItem与JButton都是AbstractButton类的子类,事件处理机制是一样的
import sun.security.krb5.internal.crypto.KeyUsage;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class Hello {public static void main(String[] args) {JFrame frame = new JFrame("一");final JTextArea text = new JTextArea();text.setEditable(true);JMenu file = new JMenu("文件");JMenuBar menuBar = new JMenuBar();JMenuItem newItem = new JMenuItem("新建");JMenuItem openItem = new JMenuItem("打开");newItem.setMnemonic('N');openItem.setMnemonic('O');newItem.setAccelerator(KeyStroke.getKeyStroke('N', Event.CTRL_MASK));openItem.setAccelerator(KeyStroke.getKeyStroke('O', Event.CTRL_MASK));file.add(newItem);file.add(openItem);menuBar.add(file);newItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {text.append("选择了新建\n");}});openItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {text.append("选择了打开\n");}});frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {super.windowClosing(e);System.exit(1);}});frame.add(text);frame.setJMenuBar(menuBar);frame.setVisible(true);frame.setSize(300,200);frame.setLocation(300,300);}.
}.
点击菜单项后 出现对应提示文字
…
Java程序设计 图形用户界面 【十三】菜单相关推荐
- Java程序设计 图形用户界面 【十二】下拉列表JComboBox
Java程序设计 图形用户界面 [十二]下拉列表JComboBox 下拉列表JComboBox JList是以列表框的形式进行显示的 有列表又可以自己输入数据这种组件就称为下拉列表框 JComboBo ...
- Java程序设计 图形用户界面 小巫版简易计算器
/** 作者:wwj 时间:2012/4/13 功能:实现一个计算器应用程序实验要求:编写一个模拟计算器的应用程序,使用面板和网格布局, 添加一个文本框,10个数字按钮(0~9),4个加减乘除按钮, ...
- java制作菜单教程_java图形用户界面实现菜单功能
本文实例为大家分享了java图形用户界面实现菜单功能的具体代码,供大家参考,具体内容如下 题目:编写一个图形用户界面,实现菜单的功能.有3个一级菜单项:File.Edit和Help.在File菜单项中 ...
- Java语言程序设计----- 图形用户界面设计
Java语言程序设计----- 图形用户界面设计 1.实验目的 (1)掌握Java Swing组件的使用方法. (2)理解委托事件处理模型. (3)设计具有图形用户界面的.能够响应事件的Java应用程 ...
- 201521123122 《java程序设计》第十三周学习总结
## 201521123122 <java程序设计>第十三周实验总结 ## 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1 ...
- 用java编写关于母亲节的代码,java编纂图形用户界面程序-实例2:母亲节快乐!o~ 努力...
java编写图形用户界面程序--实例2:母亲节快乐!^_^o~ 努力! 最近时间越来越少了,又要准备省赛,又要备考四级! 作为一个地地道道的"农村娃"."计算机渣&quo ...
- Java Swing 图形用户界面——常见组件
一直在用C\C++,还没开始认真学Java,但这几天课堂上的Java Swing 图形用户界面引起了我的兴趣.正好前段时间在玩Qt的图形化界面,发现两者有很多相似之处,学起来也容易很多.(但实际上Ja ...
- Java | GUI 图形用户界面
一.什么是GUI GUI 全称 Graphical User Interface 图形用户界面,指采用图形方式显示的计算机操作用户界面. 软件以图形界面形式运行时,用户可借助于菜单.按钮.标签等组件和 ...
- JAVA GUI(图形用户界面)
1.GUI概述 目前,我们编写的程序都是基于控制台的程序GUI(Graphical User Interface)即图形用户界面,它能够使应用程序看上去更加友好 2.Swing概念 位于javax.s ...
最新文章
- 【Sql Server】DateBase-自动化
- 2.4g 无线键鼠对码软件_富德iK8900无线键鼠套装评测:静音纤薄
- JavaScript实现鼠标拖拽登录框
- Mysql:事务管理——未完待续
- 快速打开unity manual的方式
- Java finally
- 笔记本老出现计算机,电脑老是自动重启,教您如何有效解决这个问题
- android dialog 自定义布局,如何设置AlertDialog的自定义布局?
- 到无限(溪流)和超越!
- ListView中让TextView中的文字进行单独滚动
- qsplitter 折叠_河南断桥折叠门效果
- linux版vmware卡顿,Manjaro下Vmware安装的MacOS10.15遇到的性能问题导致几乎无法启动问题及解决...
- spring boot + vue + element-ui全栈开发入门——前端编辑数据对话框
- 2008年信息安全服务市场发展报告
- Ghost配置2——添加代码高亮
- 【考研复习】《操作系统原理》孟庆昌等编著课后习题+答案——第四章
- C#反编译工具:.NET Reflector导出代码
- 2022年全球市场柠檬酸酯总体规模、主要生产商、主要地区、产品和应用细分研究报告
- SpringCloud这35问,弄懂了面试官都不得不夸你一句
- 哈工大软件构造lab3