java语言

Java菜单和工具栏学习教程

时间:2025-04-05 19:00:59 java语言 我要投稿
  • 相关推荐

Java菜单和工具栏学习教程

  引导语:工具栏是显示位图式按钮行的控制条,位图式按钮用来执行命令。以下是百分网小编分享给大家的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事件。

  [例1-9]

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  class JToolBarTest extends JFrame{

  private JToolBar tb = new JToolBar();

  private JButton[] tbButtons;

  public JToolBarTest(){

  String[] images = {"1.jpg","2.jpg"};

  //创建ImageIcon数组

  ImageIcon[] toolImage = new ImageIcon[images.length];

  tbButtons = new JButton[images.length];

  for(int i=0;i  //ImageIcon数组每个元素初始化

  toolImage[i] = new ImageIcon("bin"+images[i]);

  //创建带有图标的JButton

  tbButtons[i] = new JButton(toolImage[i]);

  //将带有图标的JButton添加到工具栏

  tb.add(tbButtons[i]);

  }

  this.add(tb);//添加工具栏到JFrame

  pack();

  setVisible(true);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  }

  public class Test1_9 {

  public static void main(String[] args) {

  new JToolBarTest();

  }

  }

  1.1.3 工具提示

  工具栏的一个缺点是用户常常要猜测他上面的小图标按钮所代表的含义。为了解决该问题,java提供了工具提示。当鼠标在一个按钮上停留一段时间后,工具提示就会被激活。工具提示文本显示在一个有颜色的矩形内,当鼠标移开按钮后,工具提示消失。

  工具提示并不是只在工具栏中可用,所有的Swing组件都支持工具提示,也就是说你可以在JButton、JList等都可以设置工具提示。工具提示是由ToolTipManager来维护的,我们可以通过这个类来设置从光标开始停留在组件上到显示工具提示之间的时间间隔以及显示工具提示信息的时长。

  修改例1-9,给工具栏添加工具提示,并利用ToolTipManager类来控制工具显示时间。

  [例1-10]

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  class JToolBarTest extends JFrame{

  private JToolBar tb = new JToolBar();

  private JButton[] tbButtons;

  public JToolBarTest(String title){

  super(title);

  String[] images = {"1.jpg","2.jpg"};

  //创建ImageIcon数组

  ImageIcon[] toolImage = new ImageIcon[images.length];

  tbButtons = new JButton[images.length];

  for(int i=0;i  //ImageIcon数组每个元素初始化

  toolImage[i] = new ImageIcon("bin"+images[i]);

  //创建带有图标的JButton

  tbButtons[i] = new JButton(toolImage[i]);

  //将带有图标的JButton添加到工具栏

  tb.add(tbButtons[i]);

  }

  //设置工具提示

  tbButtons[0].setToolTipText("删除");

  tbButtons[1].setToolTipText("取消");

  //设置从光标开始停留在组件上到显示工具提示之间的时间间隔为0.1秒

  ToolTipManager.sharedInstance().setInitialDelay(100);

  //设置工具提示信息显示时长为1秒

  ToolTipManager.sharedInstance().setDismissDelay(1000);

  this.add(tb);//添加工具栏到JFrame

  pack();

  setVisible(true);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  }

  public class Test1_10 {

  public static void main(String[] args) {

  new JToolBarTest("JToolBar测试");

  }

  }

【Java菜单和工具栏学习教程】相关文章:

Java的特点学习教程01-22

Java数组的基础学习教程08-12

Java数组的基本学习教程03-01

photoshop工具栏教程02-01

Java对话框学习教程05-31

java常量和变量入门教程04-01

Java入门教程:常量和变量02-10

Dreamweaver创建跳转菜单教程03-21

java教程之Java编程基础04-18