⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymenu1.java

📁 刘艺编著的java教程的课本习题加例题代码 很有用哦!
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class MyMenu1 extends Applet {
  MyFrame f=new MyFrame("hi");  //定义标题为hi的窗口
  Button b1=new Button("open");  //定义open按钮
  Button b2=new Button("close");  //定义close按钮
  TextField tf1=new TextField(20);

  MenuBar mb1=new MenuBar();  //菜单栏mb1说明
  Menu fi=new Menu("Flie");  //菜单File说明
  Menu e=new Menu("Edit");  //菜单Edit说明
  Menu s=new Menu("Search"); //菜单Search说明

  Menu v=new Menu("View");   //菜单View说明
  CheckboxMenuItem[] vie=     //View菜单的子菜单说明
  {
   new CheckboxMenuItem("Text"),
   new CheckboxMenuItem("Html")
  };
  MenuItem[] file={           //File菜单的子菜单说明
     new MenuItem("Open",new MenuShortcut(KeyEvent.VK_O)), 
//定义以ctrl_o为快捷键的菜单项
     new MenuItem("Save",new MenuShortcut(KeyEvent.VK_S)),
     new MenuItem("Exit",new MenuShortcut(KeyEvent.VK_E))
     };
  MenuItem[] edit={          //Edit菜单的子菜单说明
     new MenuItem("Copy",new MenuShortcut(KeyEvent.VK_C)),
     new MenuItem("Cut",new MenuShortcut(KeyEvent.VK_U)),
     new MenuItem("Paste",new MenuShortcut(KeyEvent.VK_P))
     };
  MenuItem[] search={        //Search菜单的子菜单说明
     new MenuItem("Find",new MenuShortcut(KeyEvent.VK_F)),
     new MenuItem("Replace",new MenuShortcut(KeyEvent.VK_R))
     };
  ML ml1=new ML();     //监听类对象,用于监听菜单引发的动作事件
  MIL mil1=new MIL();    //监听选项事件
  WL fwl=new WL();     //监听窗口的 是否被点击

  public void init() {
     add(b1);
     add(b2);
     add(tf1);
     f.setMenuBar(mb1);  //窗口中加入菜单栏mb1
     mb1.add(fi);        //菜单栏中加入File菜单
     for (int i=0;i<file.length ;i++){    //File菜单中加入子菜单
      fi.add(file[i]);
      }
     for (int i=0;i<vie.length ;i++){   //View菜单中加入子菜单
      v.add(vie[i]);
      }
     fi.add(v); 
//将view菜单作为File菜单的一级子菜单,view本身的子菜单为二级子菜单
     mb1.add(e);     // 菜单栏中加入edit菜单
     for (int i=0;i<edit.length ;i++){   //Edit菜单中加入子菜单
      e.add(edit[i]);
      }
     mb1.add(s);      // 菜单栏中加入search菜单
     for (int i=0;i<search.length;i++){   //Search菜单中加入子菜单
      s.add(search[i]);
      }
     b1.addActionListener(new B1L());  //设置按钮的监听者
     b2.addActionListener(new B2L());
     file[0].setActionCommand("Open");  
/*设置File菜单前三项的监听者时,先定义与菜单相关联的动作命令字符串,在监听类代码中用getActionCommand( )取得这一字符串*/
     file[0].addActionListener(ml1);  //设置file菜单的open子菜单的监听者
     file[1].setActionCommand("Save");
     file[1].addActionListener(ml1);
     file[2].setActionCommand("Exit");
     file[2].addActionListener(ml1);
     vie[0].setActionCommand("Text");  //设置File菜单的View子菜单的监听者
     vie[0].addItemListener(mil1);
     vie[1].setActionCommand("Html");
     vie[1].addItemListener(mil1);
     f.addWindowListener(fwl);      //设置对窗口的 的监听者
     f.setSize(200,300);
  }
  class WL extends WindowAdapter {    //窗口的 的监听类
   public void windowClosing(WindowEvent e)   {
    f.setVisible(false);
   }
  }
  class B1L implements ActionListener{   //按钮open的监听类
    public void actionPerformed(ActionEvent e) {
     f.setVisible(true);
    }
  }
  class B2L implements ActionListener {    //按钮close的监听类
    public void actionPerformed(ActionEvent e) {
     f.setVisible(false);
    }
  }

  class MyFrame extends Frame {   //窗口的类
    Label l1=new Label("My Applet Frame");  //定义窗口中的标签
    TextField tf=new TextField(20);  //定义窗口中的文本域
    MyFrame(String s) {
     super(s);   //窗口的构造方法中先调用父类的构造方法
     setLayout(new FlowLayout());
     add(l1);
     tf.setEditable(false);
     add(tf);
     tf.setText("I am in the frame");
    }
  }
  class ML implements ActionListener{    //菜单中动作事件的监听类
    public void actionPerformed(ActionEvent e) {
     MenuItem target=(MenuItem)e.getSource();  //取得事件源
     String ac=target.getActionCommand(); 
//取得事件源的与菜单相关联的动作命令字符串
     if(ac.equals("Open")) {
     tf1.setText("select open"); //若点击的是File菜单的Open,则在tf1中显示select open
    }
    else  if(ac.equals("Save")) {
     tf1.setText("select save");    //点击File菜单的Save则在tf1中显示select save
    }
    else  if(ac.equals("Exit")) {   //点击File菜单的Exit则关闭窗口
      f.setVisible(false);
     }
    }
  }
  class MIL implements ItemListener{   //确定View菜单的选项
     public void itemStateChanged(ItemEvent e){
      CheckboxMenuItem target=(CheckboxMenuItem)e.getSource();//取得事件源
      String acommand=target.getActionCommand();
         //取得事件源的与菜单相关联的动作命令字符串
      if (acommand.equals("Text")) tf1.setText("Text is "+target.getState());
      else if (acommand.equals("Html")) tf1.setText("Html is "+target.getState());
     }
  }
}

⌨️ 快捷键说明

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