的最後功能是在main()裡建立並顯示frame。它由以下兩步實現://Step1m=newMemo();//Step2m。start();第一步初始化memo物件。我們象操作其它物件一樣操作m。為顯示frame,我們需要呼叫show()。這在第二步裡實現。另一個要注意的是程式的健壯性:我們基本的frame裡沒有包含處理標準WINDOW_DESTROY訊息的函式。這樣,你將不能在視窗的控制選單裡選中”Quit”或”Exit”。為了增加這個功能,你需要增加以下的處理程式:publicbooleanhandleEvent(Evente){if(e。id==Event。WINDOW_DESTROY){dispose();System。exit(1);returntrue;}else{//Goaheadanddowhatwenormallywouldhavedonereturnsuper。handleEvent(e);}}
選單圖形介面依靠選單來指導使用者操作。設計獨立的Java應用程式時,Java提?copy;建立和使用選單的直接方法。象其它元件一樣,new將建立一個選單:MenuoptionMenu;optionsMenu=newMenu(”Options”);選單項一?copy;你建立了一個選單,你可以使用add()來組建選單項:optionsMenu。add(newMenuItem(”Option1”);optionsMenu。add(newMenuItem(”Option2”);選單事件當你選中某個選單項時,你建立此選單項的字元?reg;將在事件中返回。你可以象測試按鈕選擇一樣測試選單選擇:publicbooleanaction(Evente;Objectarg){。。。if(e。targetinstanceofMenuItem){System。out。println((String)arg);}。。。}其它選單項除了上面描述的簡單選單項外,你還可增加CheckBox選單項,分割線,以及子選單。下面是一?copy;例子:Menum;n;m=newMenu(”Examples”);m。add(newMenuItem(”Basic”));m。add(newMenuItem(”Simple”));
//addaseparatorm。add(newMenuItem(”…”));//addaCheckboxitemm。add(newCheckboxMenuItem(”Check”));//addasubmenun=newMenu(”MoreExamples”);n。add(newMenuItem(”SubBasic”));n。add(newMenuItem(”SubSimple”));m。add(n);選單條你建立好選單後,你應將?reg;放在應用程式的選單條上:mb=newMenubar();mb。add(m);mb。add(optionsMenu);然後你可為applet設定選單條:setMenuBar(mb);
4。5獨立應用程式例子
為了看一個更復雜的獨立的圖形介面應用程式,下面有一個數字轉換的例子:importjava。awt。*;
publicclassd2xextendsFrame{intdecimalValue=0;StringbaseXValue
=newString(”0”);TextFielddDisplay;xDisplay;
//d2xconstructorpublicd2x(){super(”DecimalConverter”);//setthe
titleoftheframeMenuBarmb=newMenuBar();Buttond2Binary=new
Button(”Binary”);Buttond2Octal=newButton(”Octal”);Buttond2Hex=
newButton(”Hex”);Buttond2Base36=newButton(”Base36”);Panelp1=new
Panel();Panelp2=newPanel();Pa