mymenu2.java

来自「非常好的JAVA学习资料」· Java 代码 · 共 53 行

JAVA
53
字号
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class MyMenu2 extends Applet {
  int icount;
  Integer count=new Integer(0);
public void init() {
    icount=0;
new MyFrame2("one");   //在小应用程序初始化时直接生成标题为one的窗口
  }
  class MyFrame2 extends Frame  {  //定义窗口类
    MenuBar mb1=new MenuBar();  //定义窗口中的菜单栏
    Menu fi=new Menu("Flie");     //定义窗口的File菜单
    MenuItem[] file={
     new MenuItem("new Frame",new MenuShortcut(KeyEvent.VK_F)),
     new MenuItem("Exit",new MenuShortcut(KeyEvent.VK_E))
     };                         //定义File菜单的子菜单
    TextField tf=new TextField(10);
    public MyFrame2(String s) {    //窗口MyFrame2的构造方法 
      super(s);
      setSize(300,300);
      setLayout(new FlowLayout());
      setMenuBar(mb1);
      mb1.add(fi);
      for (int i=0;i<file.length ;i++) {
       fi.add(file[i]);
       }
      ML ml1=new ML();        //定义菜单的监听者
      file[0].setActionCommand("new Frame");  //定义与菜单相关联的动作命令字符串
      file[0].addActionListener(ml1);          //设置file菜单的监听者
      file[1].setActionCommand("Exit");
      file[1].addActionListener(ml1);
      add(tf);
      setVisible(true);                      //显示窗口
     }
  class ML implements ActionListener {       //菜单动作事件的监听者
    public void actionPerformed(ActionEvent e) {
     MenuItem target=(MenuItem)e.getSource();
     String ac=target.getActionCommand();
     if(ac.equals("new Frame")) {          //若选择file菜单的new frame子菜单
      icount++;
      new MyFrame2("new"+count.toString(icount));  //新建标题为newxx的窗口
      tf.setText("create new");
     }
     else  if(ac.equals("Exit"))            //若选择file菜单的Exit子菜单
     {
      setVisible(false);                   //将窗口设置为不显示
     }  
    }
  }
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?