首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
admin
2009-01-15
72
问题
下面是一个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://kaotiyun.com/show/tQnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,
使用如下数据表:学生.DBF.学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF.学号(C,8),课程号(C,3),成绩(N,5,1)假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“101”课程的平均成绩,正确的
下列程序段执行后,内存变量s1的值是s1="奥运会游泳比赛"s1=stuff(s1,7,4,"田径")?s1
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为“使用零件情况统计”。表单中有一个组合框(Combol)、一个文本框(Text1)、两个命令按钮“统计”(command1)和“退出”(
要清除顶层表单中调用的菜单文件,一般在表单的哪个事件中编写程序代码()。
关于容器,以下叙述中错误的是()。
下面不属于软件测试实施步骤的是
随机试题
8031单片机时钟频率12MHz,T1为工作方式2,50μS定时,允许中断。试指出以下初始化程序的错误并改正。MOVTMOD,#20HMOVTH1,#206MOVTL1,TH1SETBTR1
患者,男性,34岁。工人,不慎高空跌落,骑跨在铁棍上,伤后排尿困难,阴囊肿胀,可能性最大的损伤是
关于购药数量分析,错误的是
规范规定的纵向受拉钢筋锚固长度la______。
造价工程师的权利包括( )。
评估依据具有代表性,且在()是有效的。
除按照规定不需要发给税务登记证件的外,纳税人办理下列哪些事项时,必须持税务登记证件?()
以下对可撤销的民事行为的表述,其中正确的是()。
省级历史文化名城贵池在历史上曾被称为()。
Whydoesthemanobjecttotheideaofgoingforawalk?
最新回复
(
0
)