程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和 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. BinarySearch(Java)

    private int binarySearch(int[] input, int target) { if (input == null) { return -1; } int index1 = 0 ...

  2. SPOJ NSUBSTR Substrings

    题意 dt { font-weight: bold; margin-top: 20px; padding-left: 35px; } dd { box-shadow: 3px 3px 6px #888 ...

  3. 关闭eth0或者某个网络接口

    ifdown eth0 关闭eth0网络接口 ifup eth0 打开eth0网络接口 如果上面的命令无效,请使用下面的 ifconfig eth0 down 关闭eth0接口 ifconfig et ...

  4. Android命令行工具学习总结

    15.setting命令 setting命令可以很方便的更改系统设置中的参数(如修改系统默认输入法) 安卓Settings模块浅析:https://www.jianshu.com/p/ed8508fe ...

  5. MySQL--时间戳与时区问题

    对于使用 timestamp 的场景,MySQL 在访问 timestamp 字段时会做时区转换,当 time_zone 设置为 system 时,MySQL 访问每一行的 timestamp 字段时 ...

  6. Cassandra Demo--Python操作cassandra

    ================================================================ 创建keyspace和table CREATE KEYSPACE ex ...

  7. Babelfish 开源通用代码解析服务

    Babelfish 是一个开源的代码解析服务 参考架构 支持的语言 bash go java javascript php ruby c++ typescript 功能 我们可以使用此工具,进行大规模 ...

  8. JS正则表达式验证身份证号码

    function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...

  9. elasticsearch:shard 和 replica 机制

    shard 和 replica 机制: index包含多个shard 每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力 增减节点时,shard会自动在 ...

  10. GoJS v1.8.12 去掉水印

    找到这段代码, 特征:1. 含有字符串:'7eba17a4ca3b1a8346','78a118b7':2. 也可能不为aw,根据具体情况来操作. a.aw=d[D.Wg("7eba17a4 ...