📄 mypopup.java
字号:
/**
*<DL><DT><b>功能:</b><DD>awt演示---PopupMenu</DD></DL>
*/
import java.awt.*;
import java.awt.event.*;
public class MyPopup extends Frame
{
PopupMenu p;
MenuItem mi1,mi2,mi3,mi4;
TextField t;
public MyPopup()
{
super("Popup Menu");
setLayout(new FlowLayout());
t=new TextField(20);
p = new PopupMenu();
p.add(mi1=new MenuItem("View Source"));
//add ActionListener for each Menu Item
mi1.addActionListener(new miActionListener());
p.addSeparator();//分隔符
p.add(mi2=new MenuItem("Print"));
mi2.addActionListener(new miActionListener());
p.add(mi3=new MenuItem("Refresh"));
mi3.addActionListener(new miActionListener());
p.addSeparator();
p.add(mi4=new MenuItem("Properties"));
mi4.addActionListener(new miActionListener());
//add the PopupMenu to the Frame
add(p);
add(t);
//Enable the mouse event
enableEvents(AWTEvent.MOUSE_EVENT_MASK);//AWTEvent.MOUSE_EVENT_MASK用于选择鼠标事件的事件掩码。
pack();
setVisible(true);
show();
}
//Process the mouse event (Right click here)
//这个方法是自动调用的,第当enableEvents(AWTEvent.MOUSE_EVENT_MASK);定义后,会自动的找到
// public void processMouseEvent(MouseEvent e)这个方法来调用
public void processMouseEvent(MouseEvent e)
{
if (e.isPopupTrigger())//返回此鼠标事件是否为该平台的弹出菜单触发事件。
{
//第一个参数指定的是点击右键后出现的菜单,第二个第三个参数是设置显示点击右键后出现菜单的坐标
p.show(e.getComponent(),e.getX(),e.getY());
}
}
//MenuItem Action Listener
class miActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
t.setText(e.getActionCommand());
}
}
public static void main(String args[])
{
MyPopup pu=new MyPopup();
pu.setSize(300,300);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -