Java学习——Applet菜单
程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和 2 级菜单,通过选择菜单项可以执行不同操作,生成如下图所示窗口。
- package cys;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class Menu extends JFrame implements ActionListener{
- JMenu menu1,menu2,submenu;
- JMenuBar menubar;
- JButton quit;
- public Menu() {
- super("添加菜单的窗口");
- Container con = getContentPane();
- con.setLayout(null);
- quit = new JButton("退出");
- quit.addActionListener(this);
- con.add(quit);
- quit.setBounds(280,350,80,40);
- createmenu();
- }
- void createmenu() {
- menubar = new JMenuBar();
- setJMenuBar(menubar);
- menu1 = new JMenu("文件");
- JMenuItem menuitem1 = new JMenuItem("打开");
- JMenuItem menuitem2 = new JMenuItem("关闭");
- menu1.add(menuitem1);
- menu1.add(menuitem2);
- menu1.addSeparator();
- JMenuItem menuitem3 = new JMenuItem("退出");
- menu1.add(menuitem3);
- JMenu submenu = new JMenu("编辑");
- JMenuItem menuitem4 = new JMenuItem("复制");
- JMenuItem menuitem5 = new JMenuItem("剪切");
- JMenuItem menuitem6 = new JMenuItem("粘贴");
- submenu.add(menuitem4);
- submenu.add(menuitem5);
- submenu.add(menuitem6);
- menu1.add(submenu);
- menu2 = new JMenu("帮助");
- menubar.add(menu1);
- menubar.add(menu2);
- }
- public void actionPerformed(ActionEvent e) {
- if(e.getSource()==quit) {
- System.exit(0);
- }
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Menu mainFrame = new Menu();
- mainFrame.setSize(600,450);
- mainFrame.setVisible(true);
- }
- }
其它例子:
- //【例6-26】 下拉式菜单创建示例。
- //程序清单6-26: JMenuDemo.java
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class JMenuDemo extends JFrame {
- JMenuBar menuBar;
- JMenu menu, submenu;
- JMenuItem menuItem;
- JCheckBoxMenuItem cbMenuItem;
- JRadioButtonMenuItem rbMenuItem;
- public JMenuDemo() {
- super("JMenuDemo");
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- createMenu();
- }
- void createMenu() {
- menuBar = new JMenuBar(); // 生成菜单条
- setJMenuBar(menuBar);
- menu = new JMenu("有菜单项菜单"); // 创建第一个菜单
- menu.setMnemonic(KeyEvent.VK_A);
- menuBar.add(menu);
- menuItem = new JMenuItem("文本菜单项"); // 创建菜单项
- menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,
- ActionEvent.ALT_MASK));
- menu.add(menuItem);
- menuItem = new JMenuItem("图形菜单项", new ImageIcon("images/img.gif"));
- menuItem.setMnemonic(KeyEvent.VK_B);
- menu.add(menuItem);
- menuItem = new JMenuItem(new ImageIcon("images/img.gif"));
- menuItem.setMnemonic(KeyEvent.VK_D);
- menu.add(menuItem);
- menu.addSeparator(); // 创建单选菜单项
- ButtonGroup group = new ButtonGroup();
- rbMenuItem = new JRadioButtonMenuItem("单选菜单项一");
- rbMenuItem.setSelected(true);
- rbMenuItem.setMnemonic(KeyEvent.VK_R);
- group.add(rbMenuItem);
- menu.add(rbMenuItem);
- rbMenuItem = new JRadioButtonMenuItem("单选菜单项二");
- rbMenuItem.setMnemonic(KeyEvent.VK_O);
- group.add(rbMenuItem);
- menu.add(rbMenuItem);
- menu.addSeparator(); // 创建复选菜单项
- cbMenuItem = new JCheckBoxMenuItem("多选菜单项一");
- cbMenuItem.setMnemonic(KeyEvent.VK_C);
- menu.add(cbMenuItem);
- cbMenuItem = new JCheckBoxMenuItem("多选菜单项二");
- cbMenuItem.setMnemonic(KeyEvent.VK_H);
- menu.add(cbMenuItem);
- menu.addSeparator(); // 创建子菜单
- submenu = new JMenu("子菜单");
- submenu.setMnemonic(KeyEvent.VK_S);
- menuItem = new JMenuItem("子菜单菜单项一");
- menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,
- ActionEvent.ALT_MASK));
- submenu.add(menuItem);
- menuItem = new JMenuItem("子菜单菜单项二");
- submenu.add(menuItem);
- menu.add(submenu);
- menu = new JMenu("无菜单项菜单"); // 创建菜单
- menu.setMnemonic(KeyEvent.VK_N);
- menuBar.add(menu);
- }
- public static void main(String[] args) {
- JMenuDemo mainFrame = new JMenuDemo();
- mainFrame.setSize(450, 260);
- mainFrame.setVisible(true);
- }
- }
Java学习——Applet菜单的更多相关文章
- Java学习——Applet画8个同心圆
import java.awt.*; import java.applet.*; public class GUI3 extends Applet{ public void paint(Graphic ...
- Java学习——Applet写字符串(调字体)
import java.awt.*; import java.applet.Applet; public class GUI2 extends Applet{ public void paint(Gr ...
- Java 学习(20):Java Applet 基础 & Java 文档注释
-- Java Applet 基础 -- Java 文档注释 Java Applet 基础 Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Ja ...
- Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin
plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...
- JAVA学习之Ecplise IDE 使用技巧(2)第二章:键盘小快手,代码辅助
上一篇:JAVA学习之Ecplise IDE 使用技巧(1)第一章:我的地盘我做主,工作空间 第二章:键盘小快手,代码辅助 内容包括: 第一:显示行号 如何设置行号:Ecplice菜单Windows& ...
- 转:Java学习路线图
作者: nuanyangyang 标 题: Java学习路线图(整理中,欢迎纠正) 发信站: 北邮人论坛 (Mon Aug 11 19:28:16 2014), 站内 [以下肯定是不完整的列表, ...
- Java学习笔记--Swing用户界面组件
很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...
- 【java学习】Servlet简单的表单程序(一)
此文用于java学习,在此小记. 在此小Demo中使用到了Servlet,所以有必要了解一下Servlet的相关知识.(Servlet的相关知识摘抄自http://blog.csdn.net/jiuq ...
- Java 学习文章汇总
目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...
随机推荐
- AC自动机自我理解和模板
给出长度为m的文本 查询 n个单词出现的次数 用kmp 复杂度 n*m*(单词平均长度) 用字典树 复杂度 m*每次字典树遍历的平均深度) AC自动机 复杂度 m (思路可以理解为kmp+字典树 ) ...
- Ubuntu下一个好用的终端
在终端下输入: sudo apt-get install terminator 快捷键: shift+ctrl+e 在当前窗口右侧新开一个窗口 shift+ctrl+w ...
- Python--subprocess系统命令模块-深入
当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准 ...
- mysql表结构的查询与修改
MariaDB [test]> show create table bp \G; #查看bp表结构,id长度为20 *************************** 1. row **** ...
- csvn使用入门
在前面我们已经配置好了csvn服务器,直达链接http://blog.csdn.net/qq_34829953/article/details/78285647 现在我们在win10环境下使用我们搭建 ...
- OutputStream 和 Writer
OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStream的层次结构: ByteArrayOutputStream:字节 ...
- graalvm 简单试用
安装 地址 http://www.graalvm.org/downloads/ 配置环境变量 linux: export PATH=/path/to/graalvm/bin:$PATH mac: ...
- curl常用传参方式
1.传header参数curl --header 'Token:40d7c342c110414888cc2a0e1284c636' "127.0.0.1/api/user/baseInfo& ...
- 00centos安装
CentOS6.9及CentOS7.4的安装详细步骤 安装前的准备工作:1 VMware已经安装好2 镜像文件下载好(在这里,我用的是CentOS-6.9-x86_64-bin-DVD1.iso和Ce ...
- spring boot 2 返回Date 格式化问题
以前 返回数据把Date 转成 long的时间毫秒数.现在是格式化成了字符串. 默认的结果:"createDate": "2018-09-06T10:04:25.000 ...