万能百科  > 计算机   > 

[问答题] 下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图

2021-07-20   

[问答题] 下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。

源程序代码文件清单如下:

import java.awt.*;

import java.applet.*;

/*

<applet code="ex16_3.class" width=800 height=400>

</applet>

*/

public class ex16_3 extends Applet

private Button btnClear;

private CheckboxGroup cbg;

private Checkbox chk1, chk2;

private int upX, upY;

private int downX, downY;

private boolean bDraw, bClear, bStyle;

public void init()

bDraw = false;

bClear = false;

bStyle = false;

setLayout(null);

cbg = new CheckboxGroup();

chk1 = new Checkbox("Hollow", cbg, true);

chk2 = new Checkbox("Filled", cbg, false);

chk1.reshape(80,getSize().height-80,80

正确答案:

g.clearRect(0,0,getSize().width,gets ize().height)bStyle=falsebStyle=true

参考解析:

本题主要考查Applet图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉Applet中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过mouseUp(), mouseDown()来获取鼠标移动的坐标,熟悉 CheckboxGroup类Checkbox的用法,通过 Checkbox来控制矩形是否填充。本题中,第1个空,对象g的方法clearRect()的最后两个参数应该对调,因为第3个参数是代表矩形的宽度,第4个是高度;第2个空,第1个Checkbox不用填充,这里bStyle=false是表示用填充;第3个空,和第2个空正好相反。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签