import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke; //=================================================
// File Name : Jmenu_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : Jmenu_demo
public class Jmenu_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame frame = new JFrame("窗体"); //定义窗体
JTextArea text = new JTextArea(); //定义文本域
text.setEditable(true); //定义文本组件可编辑
frame.getContentPane().add(new JScrollPane(text)); //在面板中加入文本框及滚动条 JMenu menuFile = new JMenu("文件"); //定义JMenu组件
//定义显示图标
menuFile.setIcon(new ImageIcon("/home/common/software/database/123.jpg"));
JMenuBar menuBar = new JMenuBar(); //定义JMenu组件
//定义显示图标
JMenuItem newMenu = new JMenuItem("新建",new ImageIcon("/home/common/software/database/123.jpg"));
//定义显示图标
JMenuItem openMenu = new JMenuItem("打开",new ImageIcon("/home/common/software/database/123.jpg")); newMenu.setMnemonic('N');
openMenu.setMnemonic('O'); newMenu.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
openMenu.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)); menuFile.add(newMenu); //加入菜单项
menuFile.addSeparator(); //加入分割线
menuFile.add(openMenu); //加入菜单项 menuBar.add(menuFile); //加入JMenu
frame.addWindowListener(new WindowAdapter(){ //加入动作监听
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
frame.setJMenuBar(menuBar); //在窗体中加入JMenuBar组件
frame.setVisible(true);
frame.setLocation(300,200); //设置显示位置
frame.setSize(300, 180); } }

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke; //=================================================
// File Name : Jmenu_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : Jmenu_demo
public class Jmenu_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame frame = new JFrame("窗体"); //定义窗体
JTextArea text = new JTextArea(); //定义文本域
text.setEditable(true); //定义文本组件可编辑
frame.getContentPane().add(new JScrollPane(text)); //在面板中加入文本框及滚动条 JMenu menuFile = new JMenu("文件"); //定义JMenu组件
//定义显示图标
menuFile.setIcon(new ImageIcon("/home/common/software/database/123.jpg"));
JMenuBar menuBar = new JMenuBar(); //定义JMenu组件
//定义显示图标
JMenuItem newMenu = new JMenuItem("新建",new ImageIcon("/home/common/software/database/123.jpg"));
//定义显示图标
JMenuItem openMenu = new JMenuItem("打开",new ImageIcon("/home/common/software/database/123.jpg")); newMenu.setMnemonic('N');
openMenu.setMnemonic('O'); newMenu.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
openMenu.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)); menuFile.add(newMenu); //加入菜单项
menuFile.addSeparator(); //加入分割线
menuFile.add(openMenu); //加入菜单项 menuBar.add(menuFile); //加入JMenu newMenu.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
text.append("选择了newMenu");
}
}); openMenu.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
text.append("选择了openMenu");
}
}); frame.addWindowListener(new WindowAdapter(){ //加入动作监听
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
}); frame.setJMenuBar(menuBar); //在窗体中加入JMenuBar组件 frame.setVisible(true);
frame.setLocation(300,200); //设置显示位置
frame.setSize(300, 180); } }

Java——菜单组件的更多相关文章

  1. 【Java】详解菜单组件

    在这篇文章中,笔者会介绍Java图形界面编程中菜单组件的用法.关于菜单组件,因为java存在AWT编程和Swing编程,所以菜单组件也存在AWT菜单和Swing菜单.因为Swing组件使用的比较多,所 ...

  2. 编写Java程序,使用菜单组件制作一个记事本编辑器

    返回本章节 返回作业目录 需求说明: 使用菜单组件制作一个记事本编辑器 实现思路: 创建记事本菜单工具栏JMenuBar. 创建多个菜单条JMenu. 创建多个菜单项JMenuItem. 将菜单添加至 ...

  3. Java AWT组件开发和Swing界面编程

    一.AWT组件开发 1.AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作.AWT还能使应用程序更好地同用户进行交互. AWT中的 ...

  4. Java-GUI编程之菜单组件

    前面讲解了如果构建GUI界面,其实就是把一些GUI的组件,按照一定的布局放入到容器中展示就可以了.在实际开发中,除了主界面,还有一类比较重要的内容就是菜单相关组件,可以通过菜单相关组件很方便的使用特定 ...

  5. Android入门(七):Spinner下拉式菜单组件

    对于手机和平板电脑的应用程序来说,打字是非常不方便的操作方式,比较好的方式就是列出一组选项让用户挑选,这样就可以避免打字的麻烦.使用Spinner下拉菜单组件需要完成以下几个步骤: 1.建立选项列表, ...

  6. 在 Java EE 组件中使用 Camel Routes

    摘要:你可以通过集成 Camel 和 WildFly 应用服务器(使用 WildFly-Camel 子系统)在 Java EE 组件中开始使用 Apache Camel Routes. [编者按]作者 ...

  7. 菜单组件——axure线框图部件库介绍

    软件类的教程,我写不出长篇大论,这里面的都是基础的操作,希望初学者,根据一个功能演示,可以自己测试其他功能菜单的效果! Axure自带的菜单组件,我几乎没有用到过,做菜单导航,我第一时间想到的还是矩形 ...

  8. JS列表的下拉菜单组件(仿美化控件select)

    JS列表的下拉菜单组件(仿美化控件select) 2014-01-23 23:51 by 龙恩0707, 1101 阅读, 6 评论, 收藏, 编辑 今天是农历23 也是小年,在这祝福大家新年快乐!今 ...

  9. 13、Java菜单条、菜单、菜单项

    13.Java菜单条.菜单.菜单项 一般用Java做界面时,都得牵涉到菜单条.菜单.菜单项的设计.菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置. 13.1.菜单条(Menubar) Frame ...

随机推荐

  1. zabbix自动发现功能实现批量web url监控

    需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...

  2. [转] JPQL

    原文地址:http://blog.csdn.net/suncaishen/article/details/6512028 select name ,age from user; //原生SQL语句 s ...

  3. Linux_Shell_grep

    grep [选项] "搜索内容"  文件名 选项列表: -i 忽略大小写      -n 输出行号 -v 反向查找 --color=auto 搜索出的关键字用颜色显示   ll|g ...

  4. javaweb写的在线聊天应用

    写这个玩意儿就是想练练手, 用户需要登陆才能在线聊天,不要依赖数据库, 不需要数据库的操作, 所有的数据都是保存在内存中, 如果服务器一旦重启,数据就没有了: 登录界面: 聊天界面: 左侧是在线的用户 ...

  5. 做哪些优化,才能让 UITabelView 更顺滑?(转)

    原文出处: Alexander Orlov   译文出处:南峰子(@南峰子_老驴) 转载自:ios.jobbole.com/83731/ 我已经在iOS这个最好的移动平台上有几年的开发经验了.在这期间 ...

  6. 用git管理源代码

    自从做iOS开发的一年多以来,之前一直都是用svn进行代码管理.因为工作需要,我也开始用git管理源代码.关于git的基本使用,在此做一个详细的介绍,希望能对初次接触git的人有所帮助! 本篇博客针对 ...

  7. 【poj1260】 Pearls

    http://poj.org/problem?id=1260 (题目链接) 题意 购买珍珠,所有珍珠分成n个档次,第i个档次购买每个珍珠的价格为p[i],需要购买第i档次的珍珠a[i]个.若要购买第i ...

  8. NuGet在Push的时候提示“远程服务器返回错误:(403)已禁用”问题解决

    在使用NuGet把包push到nuget官网的时候,提示了如下信息: Failed to process request. 'The specified API key is invalid or d ...

  9. C语言之捕捉信号

    我们有时候需要在程序中做一些对于用户或内核发出的信号后的处理,如写回文件等善后处理的事情,或者直接忽略信号(当你按Ctrl+C时我压根不理你).下面是一段信号处理的代码(POSIX C): int c ...

  10. python序列化模块json和pickle

    序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...