首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
admin
2009-01-15
151
问题
下面是一个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://kaotiyun.com/show/2IID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
高某无证经营被区工商局罚款300元,高某不服,申请复议,复议机关市工商局决定罚款600元,后经确认,区工商局所作的罚款行政处罚违反法律,下列说法正确的是()。
孙某丈夫外出做买卖五年未归,也没有任何音讯。孙某欲改嫁,下面说法正确的是()。
行政机关在其法定职权范围内,依照法律、法规、规章的规定,可以委托其他行政机关实施行政许可。下列说法正确的是()。
下列关于“十二五”时期的历史定位,叙述不正确的是()。
下列关于能源的叙述,正确的是()。
张某以请客为名用酒将高某灌醉,然后扶高某到一偏僻无人处,将高某的钱包(内有人民币5000元)拿走。张某的行为构成()。
在宋朝的典卖契约中,若没有约定回赎期限或约定不清,业主可在多少年内以原价赎回标的物()
分布式数据库的【13】透明性是最高级别的透明性,它使得在编写程序时用户只需要对全局关系进行操作,这样简化了应用程序的维护。
以下选项中,能用作用户标识符的是( )。
随机试题
关于胶片乳剂层,叙述错误的是
能直接用重氮化法测定含量的是
A.肺活量B.时间肺活量C.每分通气量D.肺泡通气量E.残气量评价肺通气功能较好的指标是
如下哪项是高血压病并脑出血患者最适宜的血压控制指标
患者,男,48岁。间断性便秘10年,时有腹部胀痛,便后缓解。1天前用力排便时突发腹部剧痛,腹胀、恶心,未呕吐,停止排便排气。P112次/分,BP80/60mmHg。全腹膨隆,以左侧为明显;全腹压痛,以左下腹为重,伴肌紧张,反跳痛,移动性浊音阳性,肠鸣音消失
桥西区法院在开庭审判许某交通肇事案的过程中,许某的辩护人请求通知新的证人到庭并请求重新勘验。依照法律规定,法庭正确的做法是:()
甲公司为一家生产制造企业。2014年10月20日,甲公司向丁公司销售M型号钢材一批,售价为1000万元,成本为800万元,钢材已发出,款项已收到。根据销售合同约定,甲公司有权在未来一年内按照当时的市场价格自丁公司回购同等数量、同等规格的钢材。截至12月31
从历史的长河看,资本主义终究要为社会主义所取代,这是历史发展的基本趋势,因为()
=_________.
Wherewillthespeakersmeeteachother?
最新回复
(
0
)