首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
admin
2009-01-15
83
问题
下面是一个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,25);
chk2.reshape(160,getSize().height-80,80,25);
add(chk1);
add(chk2);
btnClear = new Button("ctear");
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(chk1.getState()==true)
{
bStyle=true;
}
if(chk2.getState()==true)
{
bStyle=false;
}
return true;
}
}
ex9_3.html
<HTML>
<HEAD>
<TITLE>ex9_3</TITLE>
</HEAD>
<BODY>
<applet code="ex9_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>
选项
答案
g.clearRect(0,0,getSize().width,gets ize().height) bStyle=false bStyle=true
解析
本题主要考查Applet图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉Applet中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过mouseUp(), mouseDown()来获取鼠标移动的坐标,熟悉 CheckboxGroup类Checkbox的用法,通过 Checkbox来控制矩形是否填充。本题中,第1个空,对象g的方法clearRect()的最后两个参数应该对调,因为第3个参数是代表矩形的宽度,第4个是高度;第2个空,第1个Checkbox不用填充,这里bStyle=false是表示用填充;第3个空,和第2个空正好相反。
转载请注明原文地址:https://www.kaotiyun.com/show/tQnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
数据库设计过程不包括
在数据库设计中,将E-R图转换成关系数据模型的过程属于
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
假设temp.dbf数据表中有两个字段“歌手号”和“最后得分”,下面程序段的功能是:将temp.dbf中歌手的“最后得分”填入“歌手”表对应歌手的“最后得分”字段中(假设已增加了该字段),在下划线处应该填写的SQL语句是USE歌手DOWHILE.NO
在VisualFoxPro中,有关参照完整性的删除规则正确的描述是
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
假设某个表单中有一个复选框(CheckBox1)和一个命令按钮Command1,如果要在Command1的Click事件代码中取得复选框的值,以判断该复选框是否被用户选择,正确的表达式是
在考生文件夹,打开商品销售数据库CDB,完成如下简单应用:1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序
SQL命令:ALTERTABLESADD年龄ICHECK年龄>15AND年龄<30,该命令的含义是
在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?()
随机试题
1951年5月,中央人民政府与西藏地方政府达成()
关于制定药品质量标准的基本原则中不正确的是:
银行资产的流动性风险是指银行过去筹集的资金特别是存款资金由于内外因素的变化使其发生不规则波动,对其产生冲击并引发相关损失的可能性。()
信用社表内业务的会计记账方法采用借贷记账法,是记录和反映资金增减变化过程及结果的一种复式记账法。()
对学习内容的直观不包括()
按照我国中小学课程改革的发展趋势,课程设计将强调()。
开调查会的调查方式不适宜于()事项的调查。
对资本主义工商业进行社会主义改造,实行的是()
九一八事变后,蒋介石奉行“不抵抗政策”,坚持“攘外必先安内”的方针,将主要军力用于“剿共”,爱国民主人士和爱国力量不满蒋介石这一做法,纷纷采取行动,为抗日斗争各尽所能,其中具有代表性的事件有
在高速主干网、数据仓库、桌面电话会议、3D图形与高清晰度图像应用中,一般采用【 】Mbps以太网。
最新回复
(
0
)