[問(wèn)答題] 下面是一個(gè)Applet程序,實(shí)現(xiàn)實(shí)心或者空心矩形的繪制。要求鼠標(biāo)在Applet窗口中拖動(dòng)實(shí)現(xiàn)矩形的繪制,可以選擇填充或者空心,按鈕用來(lái)清空窗口中的圖
[問(wèn)答題] 下面是一個(gè)Applet程序,實(shí)現(xiàn)實(shí)心或者空心矩形的繪制。要求鼠標(biāo)在Applet窗口中拖動(dòng)實(shí)現(xiàn)矩形的繪制,可以選擇填充或者空心,按鈕用來(lái)清空窗口中的圖像。請(qǐng)改正程序中的錯(cuò)誤(有下劃線的語(yǔ)句),使程序能輸出正確的結(jié)果。
注意:不改動(dòng)程序的結(jié)構(gòu),不得增行或刪行。
源程序代碼文件清單如下:
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圖形界面編程與鼠標(biāo)事件相結(jié)合進(jìn)行簡(jiǎn)單的圖形繪制。解題關(guān)鍵是熟悉Applet中的事件機(jī)制,會(huì)利用鼠標(biāo)事件進(jìn)行簡(jiǎn)單的矩形繪制,通過(guò)mouseUp(), mouseDown()來(lái)獲取鼠標(biāo)移動(dòng)的坐標(biāo),熟悉 CheckboxGroup類Checkbox的用法,通過(guò) Checkbox來(lái)控制矩形是否填充。本題中,第1個(gè)空,對(duì)象g的方法clearRect()的最后兩個(gè)參數(shù)應(yīng)該對(duì)調(diào),因?yàn)榈?個(gè)參數(shù)是代表矩形的寬度,第4個(gè)是高度;第2個(gè)空,第1個(gè)Checkbox不用填充,這里bStyle=false是表示用填充;第3個(gè)空,和第2個(gè)空正好相反。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。