📄 menu1.java
字号:
import java.awt.*;
import java.awt.event.*;
class Menu1 extends WindowAdapter implements ActionListener,MouseListener
{
Frame f;
MenuBar mb1;
Menu mf1,me1,mh1,md1;
CheckboxMenuItem cbmi1;
PopupMenu pm1;
Dialog d;
public void display()
{
f = new Frame("Menu");
f.setSize(240,180);
f.setLocation(400,200);
f.setBackground(Color.lightGray);
f.addWindowListener(this);
f.addMouseListener(this); //为框架f注册鼠标事件监听程序
f.setVisible(true);
pm1 = new PopupMenu("Popup"); //生成一个弹出式菜单对象
pm1.add(new MenuItem("Cut")); //加入菜单项
pm1.add(new MenuItem("Copy"));
pm1.add(new MenuItem("Paste"));
pm1.addSeparator(); //加分隔线
pm1.add(new MenuItem("Exit"));
pm1.addActionListener(this); //为菜单注册事件监听程序
f.add(pm1); //框架f上添加弹出式菜单
d = new Dialog(f,"Dialog Example",true);
d.add(new Label("打开一个对话框"),"Center");
d.setSize(120,60);
d.setLocation(500,300);
d.addWindowListener(this); //为对话框d注册事件监听程序
addmyMenu();
}
public void addmyMenu()
{
mb1 = new MenuBar(); //生成一个菜单栏
f.setMenuBar(mb1); //框架f上添加菜单栏
mf1 = new Menu("File"); //生成一个菜单
me1 = new Menu("Edit");
mh1 = new Menu("Help");
mb1.add(mf1); //菜单栏中加入菜单
mb1.add(me1);
mb1.add(mh1);
mf1.add(new MenuItem("Open")); //生成菜单项并加入到菜单
mf1.add(new MenuItem("Save",new MenuShortcut(KeyEvent.VK_S)));
mf1.addSeparator(); //加分隔线
md1 = new Menu("Delete");
mf1.add(md1); //菜单加入到菜单中成为二级菜单
cbmi1 = new CheckboxMenuItem("Bold",true);
mf1.add(cbmi1);
mf1.add(new MenuItem("Exit"));
mf1.addActionListener(this); //为菜单注册事件监听程序
me1.add(new MenuItem("Cut"));
me1.add(new MenuItem("Exit"));
me1.addActionListener(this);
}
public void windowClosing(WindowEvent e)
{
if(e.getSource()==d)
d.setVisible(false);
else
System.exit(0);
}
public void actionPerformed(ActionEvent e)
{ //选择菜单项时触发
if(e.getActionCommand()=="Open")
d.setVisible(true);
if(e.getActionCommand()=="Exit")
System.exit(0);
}
public void mouseClicked(MouseEvent mec)
{ //单击鼠标时触发
if (mec.getModifiers()==mec.BUTTON3_MASK) //单击的是鼠标右键
pm1.show(f,mec.getX(),mec.getY()); //在鼠标单击处显示菜单
}
public void mousePressed(MouseEvent mep) { }
public void mouseReleased(MouseEvent mer) { }
public void mouseEntered(MouseEvent mee) { }
public void mouseExited(MouseEvent mex) { }
public void mouseDragged(MouseEvent med) { }
public static void main(String arg[])
{
(new Menu1()).display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -