下面是一个Applet程序,其功能是建立2个文本区域,一个为编辑区,一个为只读区;建立2个按钮,一个实现将编辑区中被鼠标选定的文本内容拷贝到只读区中,一个实现将只读区的全部文本内容清空。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="ex6_3.class" width=800 height=400 >
</applet>
*/
public class ex6_3 extends Applet
private Button okBtn, clearBtn;
private String strMessage;
private TextArea tAreal, tArea2;
public void init()
strMessage = "Hello! Welcome to the test! \n" +
"This is the NCR Examination! \n" +
"Wish you good luck!";
tAreal = new TextArea( 10, 25 );
tAreal.setText(strMessage);
tArea2 = new TextArea( 10, 25 );
tArea2.setEditable( true );
okBtn = new Button( "Copy" );
clearBtn = new Button( "Clear" );
add( tArea1 );
add( tArea2 );
add( okBtn );
add( clearBtn );
public boolean action( Event e, Object o )
if( e.target == okBtn )
tAreal.setText(tArea2.getSelectedText() );
else if( e.target == clearBtn )
tAreal.setText( " " );
return true;
ex6_3. html
<HTML>
<HEAD>
<TITLE>ex6_3</TITLE>
</HEAD>
<BODY>
<applet code="ex6_3.class"width=800 height=400>
</applet>
</BODY>
</HTML>
参考答案:tArea2.setEditable( false)
tArea2.setText(tAreal.getSelectedText())
tArea2.setText( " " )
解析:
本题主要考查Applet窗口、其事件处理机制以及对文本区域的相关操作。解题关键是熟悉TextArea的基本方法,如 setEditable()方法就是用来确定不用的编辑模式的一个重要的方法,并且需要明确题目要求的2个文本区域的区别和联系,根据不同的事件,来对这两个文本区域进行操作。本题中,第1个空,将第2个文本区域tArea2的编辑模式设定为只读,注意参数为false,因为默认的编辑模式设定为可编辑的,用true表示,所以参数应该是false;第2个空,响应点击Copy按钮事件的语句应该将第1个文本区tArea1的被选择的文本内容取出放入第二个文本区tArea2中;第2个空,响应点击Clear按钮事件的语句应该将第2个文本区tArea2中的所有文本内容清空。