下面是一个Applet程序,其功能是通过一个按钮控制一个窗口的创建,显示与隐藏,并且以按钮文字作为提示,可以随着窗口的状态改变,即如果窗口出现,则按钮文字为Hide myFrm,提示用户点击按钮,则隐藏窗口,反之亦然。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序代码文件清单如下; import java.awt.*; import java.applet.*; /* <applet code="ex20_3.class"width=800 height=400> </applet> */ public class ex20_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; } } ex02_3.html <HTML> <HEAD> <TITLE>ex02_3</TITLE> </HEAD> <BODY> <applet code="ex02_3.class" width=800 height+400> </applet> </BODy> </HTML>
参考答案:
解析:frm!=nullfrm.hide()frm.show() 本题主要考查Applet窗口及Applet程序的执行过程,和图形用户界面程序的设计。解题关键是熟悉Applet窗口程序设计及其执行过程。要求加入一个Button构件,同时需要熟悉图形用户界面的设计。通过Applet中的 Button构件控制一个Frame窗口的显示与隐藏,要熟悉如何建立一个新窗口,如何设置窗口的标题,如何利用Component类的函数将窗口关闭。本题中,要正确解答,需要明确程序的控制流程;首先,判断用户是否按下按钮;其次,判断当前窗口对象是否存在,如果窗口不存在则定义一个窗口,反之将窗口隐藏,并同时修改按钮文字作为提示。要明白提示作用是;如果存在则提示关掉,不存在则提示显示。第1处,判断条件应该是frm!=null,作用是判断当前窗口对象是否存在,存在的情况下才应该隐藏;第2处,这部分语句是用来隐藏窗口的,所以,应该是frm.hide();同理第3处错误应该是frm.show()。