设为首页 加入收藏

TOP

2012年计算机二级Java菜单和工具栏学习教程
2014-11-03 08:30:08 】 浏览:5083
Tags:2012年 计算机 二级 Java 菜单 工具 学习教程

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点击“新建”菜单项后的运行结果


  相关推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2012年计算机二级Java对话框学习.. 下一篇2012年计算机二级Java容器组件学..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目