[問(wèn)答題] 綜合應(yīng)用題下面是一個(gè)Applet程序,其功能是通過(guò)一個(gè)按鈕控制一個(gè)窗口的創(chuàng)建,顯示與隱藏,并且以按鈕文字作為提示,可以隨著窗口的狀態(tài)改變,即如果窗口
[問(wèn)答題] 綜合應(yīng)用題下面是一個(gè)Applet程序,其功能是通過(guò)一個(gè)按鈕控制一個(gè)窗口的創(chuàng)建,顯示與隱藏,并且以按鈕文字作為提示,可以隨著窗口的狀態(tài)改變,即如果窗口出現(xiàn),則按鈕文字為"Hide myFrm",提示用戶點(diǎn)擊按鈕,則隱藏窗口,反之亦然。請(qǐng)改正程序中的錯(cuò)誤(有下劃線的語(yǔ)句),使程序能輸出正確的結(jié)果。注意:不改動(dòng)程序的結(jié)構(gòu),不得增行或刪行。程序運(yùn)行結(jié)果如下:import java.awt.*; import java.applet.*;/**/public class ex5_3 extends Applet{ private Frame frm; private Button showBtn; public void init(){ showBtn = new Button( "Show Frame" ); add( showBtn ); } public boolean action( Event e, Object o ){ if( e.target == showBtn ){ if( frm == null ){ frm.show(); frm.dispose(); frm = null; showBtn.setLabel("Show myFrm"); } else{ frm = new Frame( "myFrm" ); frm.resize( 200, 150 ); frm.setBackground( Color.gray ); frm.hide(); showBtn.setLabel("Hide myFrm"); } } return true; } }ex5_3.html
frm != nullfrm.hide()frm.show()
參考解析:本題主要考查Applet窗口及Applet程序的執(zhí)行過(guò)程,和圖形用戶界面程序的設(shè)計(jì)。解題關(guān)鍵是熟悉Applet窗口程序設(shè)計(jì)及其執(zhí)行過(guò)程,這里要求加入一個(gè)Button構(gòu)件;同時(shí)需要熟悉圖形用戶界面的設(shè)計(jì),這里要求通過(guò)Applet中的Button構(gòu)件控制一個(gè)Frame窗口的顯示與隱藏,要熟悉如何建立一個(gè)新窗口,如何設(shè)置窗口的標(biāo)題,如何利用Component類的函數(shù)將窗口關(guān)閉。本題中,要正確解答,需要明確程序的控制流程:首先判斷用戶是否按下按鈕,其次判斷當(dāng)前窗口對(duì)象是否存在,如果窗口不存在則定義一個(gè)窗口,反之將窗口隱藏,并同時(shí)修改按鈕文字作為提示,要明白提示作用是如果存在則提示關(guān)掉,如果不存在則提示顯示。第一處,判斷條件應(yīng)該是frm!=null,作用是判斷當(dāng)前窗口對(duì)象是否存在,存在的情況下才應(yīng)該隱藏;第二處,這部分語(yǔ)句是用來(lái)隱藏窗口的,所以,應(yīng)該是frm.hide();同理第三處錯(cuò)誤應(yīng)該是frm.show()。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。