三、綜合應(yīng)用題
本題的功能是用復(fù)選按鈕來控制鼠標(biāo)右鍵的彈出菜單是否彈出。窗口中有一個(gè)復(fù)選按鈕“彈出菜單”,如果選中該復(fù)選按鈕后,鼠標(biāo)置于窗口上,單擊鼠標(biāo)右鍵會(huì)彈出一個(gè)菜單,單擊菜單項(xiàng)中的選項(xiàng)后,后臺(tái)會(huì)輸出單擊的菜單項(xiàng),如果取消該復(fù)選按鈕的選擇,單擊鼠標(biāo)右鍵則不能彈出菜單。
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();
}
相關(guān)推薦:2014年計(jì)算機(jī)等級(jí)考試時(shí)間調(diào)整通知
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |