首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
admin
2009-01-15
104
问题
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="ex13_3.class" width=800 height=400 >
</applet>
*/
public class ex13_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,25);
chk2.reshape(160,getSize().height-80,80,25);
add(chk1);
add(chk2);
btnClear = new Button("clear");
btnClear.reshape(240,getSize().height-80,80,25);
add(btnClear);
}
public void paint(Graphics g){
if(bDraw){
if(upX > downX && upY > downY){
if (bStyle)
g. fillRect (downX, downY, upX - downX, upY - downY);
else
g.drawRect(downX, downY, upX - downX, upY - downY);
}
else if(upX > downX && upY < downY){
if(bStyle)
g.fillRect(downX, upY, upX - downX, downy - upY);
else
g.drawRect(downX, upY, upX - downX, downy - upY);
}
else if(upX < downX && upY > downY){
if(bStyle)
g.fillRect(upX, downY, downX - upX, upY - downY);
else
g.drawRect(upX, downY, downX - upX, upY - downY);
}
else if(upX < downX && upY < downY){
if(bStyle)
g.fillRect(upX, upY, downX - upX, downy - upY);
else
g.drawRect(upX, upY, downX - upX, downy - upY);
}
bDraw = false;
}
if(bClear)(
g.clearRect(0,0, getSize().height, getSize().width);
bClear = false;
}
}
public void update(Graphics g){
paint(g);
}
public boolean mouseUp(Event e, int x, int y){
upX = x;
upY = y;
bDraw = true;
repaint();
return true;
}
public boolean mouseDown(Event e, int x, int y){
downX = x;
downY = y;
return true;
}
public boolean action(Event e, Object o){
if(e.target == btnClear)(
bClear = true;
repaint();
}
if(chkl.getState() == true){
bStyle = true;
}
if(chk2.getState() == true){
bStyle = false;
}
return true;
}
}
ex13_3.html
<HTML>
<HEAD>
<TITLE>ex13_3</TITLE>
</HEAD>
<BODY>
<applet code="ex13_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
选项
答案
g.clearRect(0,0,getSize().width,getSize().height) bStyle=false bStyle=true
解析
本题主要考查Applet图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉Applet中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过mouseUp(),mouseDown()来获取鼠标移动的坐标,熟悉CheckboxGroup类Checkbox类的用法,通过Checkbox来控制矩形是否填充。本题中,第1个空,对象g的方法clearRect()的最后两个参数应该对调因为第3个参数是代表矩形的宽度,第四个是高度;第2个空,点击第1个Checkbox是不用填充,这里bStyle=false是表示用填充;第3个空,解释和第2个空的相似,正好相反。
转载请注明原文地址:https://jikaoti.com/ti/8kkiFFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
从所给的四个选项中,选择最合适的一个填入问号处,使下图中的立体图形①、②、③和④可组成一个完整的长方体。
下列哪一情形,不在人民法院受理的行政诉讼案件的范围内?()
下列做法符合《政府信息公开条例》的是()。
方某在晚上牵狗散步,狗突然挣脱绳索,奔向童某(3岁),并咬伤童某。当时童某父亲正在用手机给朋友打电话。关于本案,下列说法正确的是()。
把长江分为上游、中游、下游的两个城市是()。
在南极洲,尽管气候异常寒冷,但在南极维多利亚大煤田的煤炭储存量非常大,而且煤的质地特别好。其最有可能的原因是()。
我国北斗卫星导航系统是继美国GPS、俄罗斯格洛纳斯、欧洲伽利略之后,全球第四大卫星导航系统。按照北斗卫星导航系统的“三步走”发展战略,下列错误的是()。
党的十八大提出的“四个监督”的内容是()。
根据以下资料,回答以下问题。中国汽车工业协会发布的2009年4月份中国汽车产销数据显示,在其他闰家汽车销售进一步疲软的情况下,国内乘用车销量却持续上升,当月销量已达83.1万辆,比3月份增长7.59%,同比增长37.37%。乘用车细分为
Applet的默认布局管理器是()。
随机试题
银行业监督管理机构查询涉嫌金融违法的银行业金融机构及其工作人员及关联行为人的账户必须经()批准。
若(1/x)-(1/y)=3,则(2x-3xy-2y)/(x-2xy-y)=()。
A、Theefficiencyofourmuscles.B、Thenormalbreathingfunction.C、Directionourmusclesintelligently.D、Theworkofonlyour
人体抵抗寒冷的调节反应是
A.乙型肝炎表面抗原B.丙型肝炎病毒抗体C.艾滋病病毒抗体D.梅毒E.丙氨酸氨基转移酶五项检测中检测的是抗原的是
贷款人行使不安抗辩权时.借款人在合理期限内未恢复履行债务能力并且未提供适当担保的,贷款人可以解除合同,()对此负有通知义务和举证责任。
企业资源优势具有(),企业要不断投入以保持和创新其优势。
下列游戏中,属于创造性游戏的是()。
关于极限法,下列叙述正确的是()。
小明进行了智力测验,智力测验的分数为90,现在欲了解小明的智力水平在同龄人中的位置,需要参照
最新回复
(
0
)