java awt 实例_Java AWT的菜单实例演示

这个Java程序展示了如何创建和管理图形用户界面(GUI)的菜单,包括文件、编辑、格式等菜单项,以及快捷键和右键弹出菜单。用户可以执行新建、保存、退出、复制、粘贴、注释和取消注释等操作,同时包含了窗口关闭事件的处理。
摘要由CSDN通过智能技术生成

[img]http://dl.iteye.com/upload/picture/pic/75002/0ada4806-0665-3921-b3c4-822358ef1a16.jpg[/img]

package com.jtang.zhe.java;

import java.awt.*;

import java.awt.event.*;

import java.awt.CheckboxMenuItem;

import java.awt.Frame;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.MenuShortcut;

import java.awt.PopupMenu;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class SimpleMenu {

private Frame f=new Frame("测试");

private MenuBar mb=new MenuBar();

PopupMenu pop=new PopupMenu();

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

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

MenuItem newItem=new MenuItem("新建");

MenuItem saveItem=new MenuItem("保存");

//创建exitItem菜单项,指定使用Ctrl+X快捷键

MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));

CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");

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

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

Menu format=new Menu("格式");

//创建commentItem菜单项,指定使用Ctrl+Shift+/快捷键

MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));

MenuItem cancelItem=new MenuItem("取消注释");

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CheckboxMenuItem autoWrap1=new CheckboxMenuItem("自动换行");

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

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

Menu format1=new Menu("格式");

//创建commentItem1菜单项

MenuItem commentItem1=new MenuItem("注释");

MenuItem cancelItem1=new MenuItem("取消注释");

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

private TextArea ta=new TextArea(6,40);

public void init()

{

//以匿名内部类的形式创建菜单******

ActionListener menuListener=new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String cmd=e.getActionCommand();

ta.append("单击'"+cmd+"'菜单"+"

");

if(cmd.equals("退出"))

{

System.exit(0);

}

}

};

commentItem.addActionListener(menuListener);

//

commentItem1.addActionListener(menuListener);

exitItem.addActionListener(menuListener);

//为file菜单添加菜单项

file.add(newItem);

file.add(saveItem);

file.add(exitItem);

//为edit菜单添加菜单项

edit.add(autoWrap);

//使用addSeparator方法来添加菜单分隔线

edit.addSeparator();

edit.add(copyItem);

edit.add(pasteItem);

//为format菜单添加菜单项

format.add(commentItem);

format.add(cancelItem);

//------------------------------------------------------------

//为format1菜单添加菜单项

format1.add(commentItem1);

format1.add(cancelItem1);

//------------------------------------------------------------

//使用添加new MenuItem("-")的方式添加菜单分隔线

edit.add(new MenuItem("-"));

//将format菜单组合到edit菜单中,从而形成二级菜单

edit.add(format);

//============================================================

//为pop菜单添加菜单项

pop.add(autoWrap1);

//使用addSeparator方法来添加菜单分隔线

pop.addSeparator();

pop.add(copyItem1);

pop.add(pasteItem1);

pop.add(new MenuItem("-"));

pop.add(format1);

ta.add(pop);

ta.addMouseListener(new MouseAdapter(){

public void mouseReleased(MouseEvent e)

{

if(e.isPopupTrigger())

{

pop.show(ta,e.getX(),e.getY());

}

}

});

//============================================================

//将file、edit菜单添加到mb菜单条中

mb.add(file);

mb.add(edit);

//为f窗口设置菜单条

f.setMenuBar(mb);

//以匿名内部类的形式来创建事件******对象

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e)

{

ta.append("用户试图关闭窗口!

");

System.exit(0);

}

});

f.add(ta);

f.pack();

f.setVisible(true);

}

public static void main(String[] args)

{

new SimpleMenu().init();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值