程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和 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菜单的更多相关文章

  1. Java学习——Applet画8个同心圆

    import java.awt.*; import java.applet.*; public class GUI3 extends Applet{ public void paint(Graphic ...

  2. Java学习——Applet写字符串(调字体)

    import java.awt.*; import java.applet.Applet; public class GUI2 extends Applet{ public void paint(Gr ...

  3. Java 学习(20):Java Applet 基础 & Java 文档注释

    -- Java Applet 基础 -- Java 文档注释 Java Applet 基础 Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Ja ...

  4. Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin

    plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...

  5. JAVA学习之Ecplise IDE 使用技巧(2)第二章:键盘小快手,代码辅助

    上一篇:JAVA学习之Ecplise IDE 使用技巧(1)第一章:我的地盘我做主,工作空间 第二章:键盘小快手,代码辅助 内容包括: 第一:显示行号 如何设置行号:Ecplice菜单Windows& ...

  6. 转:Java学习路线图

    作者: nuanyangyang 标  题: Java学习路线图(整理中,欢迎纠正) 发信站: 北邮人论坛 (Mon Aug 11 19:28:16 2014), 站内   [以下肯定是不完整的列表, ...

  7. Java学习笔记--Swing用户界面组件

    很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...

  8. 【java学习】Servlet简单的表单程序(一)

    此文用于java学习,在此小记. 在此小Demo中使用到了Servlet,所以有必要了解一下Servlet的相关知识.(Servlet的相关知识摘抄自http://blog.csdn.net/jiuq ...

  9. Java 学习文章汇总

    目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...

随机推荐

  1. 下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

    下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt.File构造函数中正确的路径和文件名的表示是(    ). ./表示当前项目的路径../表示当 ...

  2. mysql表结构的查询与修改

    MariaDB [test]> show create table bp \G; #查看bp表结构,id长度为20 *************************** 1. row **** ...

  3. Centos7修改默认最大文件打开数

    方法一: [root@bogon ~]# vi /etc/systemd/system.conf [root@bogon ~]# cat /etc/systemd/system.conf # This ...

  4. oracle-锁概念

    http://liwenshui322.iteye.com/blog/1166934 ORACLE DDL锁介绍 在DDL操作中会自动为对象加DDL锁(DDL Lock),从而保护这些对象不会被其他会 ...

  5. MySQL ERROR 2005 (HY000)

    问题 使用 docker run -it --rm mysql mysql -h 192.168.18.133:3306 -uroot -p 连接远程mysql服务器时,ERROR 2005 (HY0 ...

  6. [转]Intellij IDEA快捷键

    [常规]Ctrl+Shift + Enter:语句完成“!”:否定完成:输入表达式时按 “!”键Ctrl+E:最近的文件Ctrl+Shift+E:最近更改的文件Shift+Click:可以关闭文件Ct ...

  7. uglifyjs-webpack-plugin 插件,drop_console 默认为 false(不清除 console 语句),drop_debugger 默认为 true(清除 debugger 语句)

    uglifyjs-webpack-plugin 插件,drop_console 默认为 false(不清除console语句),drop_debugger 默认为 true(清除 debugger 语 ...

  8. TypeScript 之 类型推导

    https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Type%20Inference.html 类型推导:发生在初始化变 ...

  9. 2、visualBox虚拟机扩容

    1.找到VBoxManager工具 1)打开Finder,找到[应用程序],在右侧找到VirtualBox.app,然后打开右键,找到[显示包内容],点击打开 2.打开终端,来到这个目录下 cd /A ...

  10. Centos6 rpm 安装mysql5.5(转)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/macfac/article/details/51868712 0. 到官网下载好,想要安装的rpm包 ...