2012年计算机二级Java菜单和工具栏学习教程

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

本文导航
  • 第1页:8.5.1 JMenuBar 菜单
  • 第2页:8.5.2 JToolBar 工具栏
  • 第3页:8.5.3 工具提示

8.5  菜单和工具栏

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

  8.5.1 JMenuBar 菜单

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

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

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

  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 Test8_8 {

  public static void main(String[] args) {

  new JMenuBarTest("记事本");

  }

  }

  程序运行结果见图8-9。

图8-9 例8-8点击“新建”菜单项后的运行结果

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答