MenuTest

import java.awt.*;
import java.awt.event.*;

public class MenuTest
{
 Frame f = new Frame("MenuTest");
 Label l = new Label("这里是状态栏");
 Label l1 = new Label("文件",Label.CENTER);
 Label l2 = new Label("退出",Label.CENTER);
 Panel pc = new Panel();
 CardLayout c = new CardLayout();

    MenuBar mb = new MenuBar();
 Menu menu1 = new Menu("文件");
 Menu menu2 = new Menu("编辑");
 MenuItem menuitem1 = new MenuItem("打开");
 MenuItem menuitem2 = new MenuItem("退出");
 MenuItem menuitem3 = new MenuItem("剪切");
 MenuItem menuitem4 = new MenuItem("粘贴");
 CheckboxMenuItem chmenuitem = new CheckboxMenuItem("状态栏");

 public static void main(String[] args)
 {
  MenuTest that = new MenuTest();
  that.go();
 }
 
 void go()
 {
  f.setSize(500,400);
  f.setMenuBar(mb);
  f.setLayout(new BorderLayout());
  mb.add(menu1);
  mb.add(menu2);
  menu1.add(menuitem1);
  menu1.add(menuitem2);
  menu1.addSeparator();
  menu1.add(chmenuitem);
  menu2.add(menuitem3);
  menu2.add(menuitem4);
  f.add("Center",pc);
  pc.add(l1,"wenjian");
  pc.add(l2,"tuichu");
  f.add("South",l);
  f.setVisible(true);
  menuitem1.addActionListener(new MenuHandler(1));
  menuitem2.addActionListener(new MenuHandler(2));
  chmenuitem.addItemListener(new MenuDsp());
  f.addWindowListener(new WindowHandler());
 }

 class MenuDsp implements ItemListener
 {
  public void itemStateChanged(ItemEvent e)
  {
   if (chmenuitem.getState())
   {
    l.setVisible(true);
   }
   else
    l.setVisible(false);
  }
 }

 class MenuHandler implements ActionListener
 {
  private int ch;
  MenuHandler(int select)
  {
   ch = select;
  }
  public void actionPerformed(ActionEvent e)
  {
   switch(ch)
   {
    case 1:c.show(pc,"wenjian"); break;
    case 2:c.show(pc,"tuichu"); break;
   }
   l.setText(e.getActionCommand());
  }
 }
 class WindowHandler extends WindowAdapter
 {
  public void windowClosing(WindowEvent e)
  {
   System.exit(1);
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值