为窗口添加菜单,并处理由菜单项所引发的事件

为窗口添加菜单,并处理由菜单项所引发的事件

¨ 程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和子菜单。通过选择菜单项可以引发不同的事件,从而执行不同操作,例如点击“打开”菜单项可以打开一个“打开文件对话框”。


¨ 编写KY7_2.java 程序文件,源代码如下。

import java.awt.*;

import java.awt.event.*;

public class KY7_2 extends Frame implements ActionListener {

static Frame f;          //声明一个框架

static FileDialog fd1;    //声明一个文件对话框对象

  static FileDialog fd2;

public static void main(String args[]) {

KY7_2  k = new KY7_2();  

     f = new Frame();   // 创建一个框架f  

……   // 创建一个菜单条 mb

     ……   // 在菜单条mb中添加两个菜m1"文件"m2("帮助")

……   /*  "文件"菜单m1中有三个菜单项:m11"打开"

m12"关闭"m13"退出"*/

……  /*  "帮助"菜单m2中有三个菜单项:m21"目录"

m22"索引"m23"关于"*/

……  //  "文件"菜单m1中还有一个子菜单m3"编辑"

……  /*  "编辑"子菜单m3 中有三个菜单项:m31"复制"

m32"剪切"m33"粘贴"*/  

m11.addactionlistner(k);   /* 允许菜单项"打开"引发一个事件,该事件的处理者为当前对象 k  */

m13.addactionlistner(k);   /* 允许菜单项"退出"引发一个事件,该事件的处理者为当前对象 k  */

f.setSize(350,200);   // 设置框架f的大小

f.setMenuBar(mb);   // 设置框架f的菜单条为mb  

f.setVisible(true);    

}

public void actionPerformed (ActionEvent e) {  /* 处理由菜单项"打开""退出" 所引发的事件*/

if (e.getActionCommand() == "打开") {  /* "打开"菜单项引发事件,则打开“打开文件对话框”*/

FileDialog fd = new FileDialog (f, "open", FileDialog.SAVE); 

fd.setVisible (true);

}

if (e.getActionCommand() == "保存")    /* "保存"菜单项引发事件,则打开“保存文件对话框”*/

……  //创建并打开一个“保存文件对话框”

}

}

 

 

import java.awt.*;

import java.awt.event.*;

public class KY7_2 extends Frame implements ActionListener {

static Frame f;          //声明一个框架

static FileDialog fd1;    //声明一个文件对话框对象

  static FileDialog fd2;

public static void main(String args[]) {

KY7_2  k = new KY7_2();  

     f = new Frame();   // 创建一个框架f  

 MenuBar mb=new MenuBar();  // 创建一个菜单条 mb

 Menu m1=new Menu("文件");

 Menu m2=new Menu("帮助");// 在菜单条mb中添加两个菜单m1"文件")和m2("帮助")

 mb.add(m1);

 mb.add(m2);

 /*  "文件"菜单m1中有三个菜单项:m11"打开")、

m12"关闭")和m13"退出"*/

 MenuItem m11=new MenuItem("打开");

 MenuItem m12=new MenuItem("关闭");

 MenuItem m13=new MenuItem("退出");

 m1.add(m11);

 m1.add(m12);

 m1.add(m13);

  /*  "帮助"菜单m2中有三个菜单项:m21"目录")、

m22"索引")和m23"关于"*/

 MenuItem m21=new MenuItem("目录");

 MenuItem m22=new MenuItem("索引");

 MenuItem m23=new MenuItem("关于");

 m2.add(m21);

 m2.add(m22);

 m2.add(m23);

 //  "文件"菜单m1中还有一个子菜单m3"编辑"

 Menu m3=new Menu("编辑");

   /*  "编辑"子菜单m3 中有三个菜单项:m31"复制")、

m32"剪切")和m33"粘贴"*/

 MenuItem m31=new MenuItem("复制");

 MenuItem m32=new MenuItem("剪切");

 MenuItem m33=new MenuItem("粘贴");

 m3.add(m31);

 m3.add(m32);

 m3.add(m33);

 m1.add( m3);

m11.addActionListener(k);   /* 允许菜单项"打开"引发一个事件,该事件的处理者为当前对象 k  */

m13.addActionListener(k);  /* 允许菜单项"退出"引发一个事件,该事件的处理者为当前对象 k  */

f.setSize(350,200);   // 设置框架f的大小

f.setMenuBar(mb);   // 设置框架f的菜单条为mb  

f.setVisible(true);    

}

public void actionPerformed (ActionEvent e) {  /* 处理由菜单项"打开""退出" 所引发的事件*/

if (e.getActionCommand() == "打开") {  /* "打开"菜单项引发事件,则打开“打开文件对话框”*/

FileDialog fd1 = new FileDialog (f, "open", FileDialog.SAVE);

fd.setVisible (true);

}

if (e.getActionCommand() == "保存")    /* "保存"菜单项引发事件,则打开“保存文件对话框”*/

  //创建并打开一个“保存文件对话框”

{

FileDialog fd2=new FileDialog(f,"save",FileDialog.SAVE);

fd2.setVisible(true);

}

}

}


你可能感兴趣的:(为窗口添加菜单,并处理由菜单项所引发的事件)