网友您好, 请在下方输入框内输入要搜索的题目:
本题的功能是用复选按钮来控制鼠标右键的弹出菜单是否弹出。窗口中有一个复选按钮“弹出菜单”,如果选中该复选按钮后,鼠标置于窗口上,单击鼠标右键会弹出一个菜单,单击菜单项中的选项后,后台会输出单击的菜单项,如果取消该复选按钮的选择,单击鼠标右键则不能弹出菜单。
import java.awt.*;
import java.awt.event.*;
class CanvasWithPopup extends Canvas{
Popupmenu popup;
CanvasWithPopup(PopupMenu popup){
enableEvents(AWTEvent.MOUSE EVENT
MASK):
this.popup=popup;
}
void addPopup(){
add(popup);
}
void removePopup(){
remove(popup);
}
protected void processMouseEvent(MouseEvent
evt){
if(popup.getParent()!=null&;&;evt.isPop-
upTrigger()){
popup.show(evt.getComponent(),evt.getX(),
evt.getY());
}
super.processMouseEvent(evt);
}
}
public class java3 extends Frame. implements Item-
Listener,ActionListener{
Checkbox cb=new Checkbox("弹出菜单",
false);
CanvasWithPopup canvas;
java3(){
super("java3");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
add(cb,BorderLayout.NORTH);
cb.addhemListener(this);
PopupMenu popup=new PopupMenu("Button
Control"):
popup.add("iteml");
popup.add("item2");
popup.addActionListener(this);
canvas=new CanvasWithPopup(popup);
add(canvas,BorderLayout.CENTER);
setSize(100,200);
show();
}
参考答案