Java菜单和工具栏学习教程

引导语:工具栏是显示位图式按钮行的控制条,位图式按钮用来执行命令。以下是百分网小编分享给大家的Java菜单和工具栏学习教程,欢迎阅读!

1.1 菜单和工具栏

菜单和工具栏可提供简单明了的指示说明,让用户非常方便的完成软件操作。利用菜单可以将程序功能模块化。

1.1.1 JMenuBar 菜单

菜单的组织方式为:一个菜单条 (JMenuBar)中可以包含多个菜单(JMenu),一个菜单中可以包含多个菜单项(JMenuItem及其子类)。有一些支持菜单的组件,如JFrame、JDialog以及JApplet,都有一个setMenuBar(JMenuBar bar)方法,可以利用这个方法来设置菜单条。

菜单项是菜单系统中最基本的组件,用户与菜单的交互主要是菜单项的交互,因此事件处理也是针对菜单项的。当用户选择了某个菜单项,就会触发一个ActionEvent事件,可以编写相应的类实现ActionListener接口对该事件进行处理。

例1-1演示了如何创建一个完整的菜单系统,可以通过点击菜单项让菜单项做出反应。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class JMenuBarTest extends JFrame{

private JMenuBar bar = new JMenuBar();

private JMenu menuFile = new JMenu("文件");

private JMenuItem itemFile1 = new JMenuItem("新建");

private JMenuItem itemFile2 = new JMenuItem("打开");

private JMenuItem itemFile3 = new JMenuItem("保存");

private JMenuItem itemFile4 = new JMenuItem("退出");

private JMenu menuHelp = new JMenu("帮助");

private JMenuItem itemHelp1 = new JMenuItem("帮助主题");

private JMenuItem itemHelp2 = new JMenuItem("关于记事本");

private JTextArea ta = new JTextArea(10,30);

public JMenuBarTest(String title){

super(title);

//设置快捷键

itemFile1.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_MASK));

itemFile2.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_MASK));

itemFile3.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_MASK));

itemFile4.setAccelerator(KeyStroke.getKeyStroke('E',KeyEvent.CTRL_MASK));

//添加JMenuItem到JMenu

menuFile.add(itemFile1);

menuFile.add(itemFile2);

menuFile.add(itemFile3);

menuFile.addSeparator();//加分割线

menuFile.add(itemFile4);

menuHelp.add(itemHelp1);

menuHelp.addSeparator();//加分割线

menuHelp.add(itemHelp2);

//添加JMenu到JBar

this.setJMenuBar(bar);

bar.add(menuFile);

bar.add(menuHelp);

Container contentPane = this.getContentPane();

contentPane.add(ta);

pack();

this.setVisible(true);

//注册监测器

itemFile1.addActionListener(new MyActionListener());

itemFile2.addActionListener(new MyActionListener());

itemFile3.addActionListener(new MyActionListener());

itemFile4.addActionListener(new MyActionListener());

itemHelp1.addActionListener(new MyActionListener());

itemHelp2.addActionListener(new MyActionListener());

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private class MyActionListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

ta.setText("您按下了菜单项:"+e.getActionCommand());

}

}

}

public class Test1_1 {

public static void main(String[] args) {

new JMenuBarTest("记事本");

}

}

1.1.2 JToolBar 工具栏

JToolBar(工具栏)是提供快速访问常用菜单命令的一个按钮栏,一般和菜单栏一起出现,当然也可独立出现。

JToolBar提供了四个构造方法用于创建JToolBar对象。

表1-13 JToolBar构造方法

构造方法说明

JToolBar()创建新的工具栏;默认的方向为 HORIZONTAL

JToolBar(int orientation)创建具有指定 orientation 的.新工具栏

JToolBar(String name)创建一个具有指定 name 的新工具

JToolBar(String name,

int orientation)

创建一个具有指定 name 和 orientation 的新工具栏各参数意义:

name - 工具栏的名称

orientation - 初始方向,值可为 HORIZONTAL(水平方向) 或 VERTICAL (垂直方向)

工具栏的添加很简单,直接使用JFrame的add方法即可完成添加,工具栏内可添加按钮等组件。

例1-9演示了单独的一个工具栏,该程序未添加事件处理,若要添加事件处理,实际上是对添加到工具栏内的组件的事件处理,如添加JButton则可处理ActionEvent事件。

java制作菜单教程_Java菜单和工具栏学习教程相关推荐

  1. java filter教程_Java Web Filter 过滤器学习教程(推荐)

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...

  2. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  3. java制作excel报表_java制作Excel报表简单易用(拿来即用)

    java制作Excel报表简单易用 本程序是java程序 本程序是通过jxl.jar来实现的. 最下面会贴出代码 完整例子下载(我放在百度云盘了): http://www.doczj.com/doc/ ...

  4. java 菜单快捷键_Java 菜单快捷键

    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.ALT_MASK)); 是当鼠标焦点在你所在的程序界面 ...

  5. Java语言最新实用案例教程_Java语言最新实用案例教程

    第1章Java语言基础 1.1初识Java程序 案例11一个简单的Java应用程序 案例12一个简单的GUI程序 1.2Java语言基础 案例13两个数的计算程序 案例14求素数 1.3数组与 ...

  6. java制作月度报表_Java报表制作详细过程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一般来说,一个完整的java报表设计流程,大体分为如下几个步骤: 1:打开设计器 2:配置数据源 3:新建报表 4:配置私有数据源 5:报表设计 6:预览 ...

  7. myeclipse java教程_Java之Myeclipse使用详细教程

    Java之Myeclipse使用详细教程 学习编程开发是件需要持之以恒的是,大家加油好好努力,早日成为变成精英. 第一部分MyEclipse的基本使用 一.提示:MyEclipse的透视图按钮:可以切 ...

  8. java 常量变量使用_java常量和变量入门教程

    java常量和变量入门教程 Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代).运算符重载(operato ...

  9. java制作管理系统视频_java语言制作管理系统视频教程

    并且新的通过对象原型拷贝这些创建,制作的参一定考价具有值,制作细介型模相关文章为大T原家详这篇主要资料绍了式的,伴们小伙型实象的模式的定定创一下原型义:用原可以例指建对种类参考感兴趣的. 管理询速行人 ...

最新文章

  1. 投票系统之防止重复投票
  2. python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
  3. springboot特点
  4. 领域应用 | 人工智能+知识图谱:如何规整海量金融大数据?
  5. python多线程飞速写入文件
  6. 无人驾驶是好,但晕车咋办?
  7. 网络_远程开机(ubuntu)
  8. 长字符串显示引起的问题通用性解决方法
  9. PUTTY官网下载地址
  10. 计算机麦克风测试,如何进行电脑话筒测试?电脑麦克风如何设置?
  11. 2020中国华录杯·数据湖算法大赛—定向算法赛(吸烟打电话检测)baseline-tensorflow2.3-python3.6
  12. UE4 C++ 通过Spline绘制任意道路
  13. eXo Platform 3.0访谈
  14. 如何查看电脑端口占用
  15. vim 单行删除与多行删除
  16. 【JavaSE】----- Java语言的介绍
  17. jquery对文本赋值和取值_jQuery常用的取值或赋值的方法
  18. html中怎么设置渐变颜色设置,css中渐变色怎么设置
  19. BZOJ 3698: XWW的难题|有上下界的网络流之最大流
  20. python实现智能语音翻译

热门文章

  1. 04《网页设计与制作》复习资料
  2. 面板数据的门槛|门限效应检验、阈值确定、回归结果解释
  3. OJ每日一练——数字反转
  4. torch.utils.data.DataLoader()到底是什么作用?
  5. AIGC 存储内容安全解决方案
  6. ffmpeg在线文档
  7. jQuery实现网站换肤
  8. 实验4-1-11 高空坠球 (20 分)
  9. 英特尔陈小波: 克服瓶颈,加速你的混合云
  10. AD怎么输入坐标_CAD没有保存怎么办 CAD是会自动保存设置技巧