问题 问答题

下面是一个Applet程序,其功能是通过一个按钮控制一个窗口的创建,显示与隐藏,并且以按钮文字作为提示,可以随着窗口的状态改变,即如果窗口出现,则按钮文字为“Hide myFrm”,提示用户点击按钮,则隐藏窗口,反之亦然。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:


import java.awt.*;
import java.applet.*;
/*
<applet code="ex5_3.class" width=800 height=400 >
</applet>
*/
public class ex5_3 extends Applet
private Frame rrm;
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.htm1
<HTML>
<HEAD>
<TITLE>ex5_3</TITLE>
</HEAD>
<BODY>
<applet code="ex5_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>

答案

参考答案:frm ! = null
frm.hide()
frm.show()

解析:
本题主要考查Applet窗口及Applet程序的执行过程,和图形用户界面程序的设计。解题关键是熟悉Applet窗口程序设计及其执行过程,这里要求加入一个Button构件;同时需要熟悉图形用户界面的设计,这里要求通过Applet中的Button构件控制一个Frame窗口的显示与隐藏,要熟悉如何建立一个新窗口,如何设置窗口的标题,如何利用Component类的方法将窗口关闭。本题中,要正确解答,需要明确程序的控制流程:首先判断用户是否按下按钮,其次判断当前窗口对象是否存在,如果窗口不存在则定义一个窗口,反之将窗口隐藏,并同时修改按钮文字作为提示,要明白提示作用是如果存在则提示关掉,如果不存在则提示显示。第一处,判断条件应该是frm!=null,作用是判断当前窗口对象是否存在,存在的情况下才应该隐藏;第二处,这部分语句是用来隐藏窗口的,所以,应该是frm.hide();同理第三处错误应该是frm.show()。

选择题
单项选择题