首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
admin
2009-01-15
47
问题
下面是一个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全国计算机二级
相关试题推荐
数据库系统的三级模式不包括
下列程序段执行时在屏幕上显示的结果是DIMEa(6)a(1)=1a(2)=1FORi=3TO6a(i)=a(i.1)+a(i一2)NEXT?a(6)
下列程序段的执行结果是DIMEa(8)a(1)=1a(2)=1fori=3to8a(i)=a(i-1)+a(i•2)next?a(7)
在软件开发中,需求分析阶段可以使用的工具是
数据库表的字段可以定义默认值,默认值是()。
两个或两个以上的模块之间关联的紧密程度称为()。
待排序的关键码序列为(15,20,9,30,67,65,45990),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。
下面关于运行应用程序的说法正确的是()。
在数据库中,产生数据不一致的根本原因是
______应考虑对模块相关联和资源共享问题进行描述和制约。()
随机试题
良性葡萄胎病变局限于_________,不侵入子宫肌层,也不发生远处转移。
A.肺性紫绀B.心性紫绀C.肠源性紫绀D.淤血性周围性紫绀缩窄性心包炎出现的紫绀属于
A.快速腭中缝扩展B.慢速腭中缝扩展C.正畸扩展D.被动扩展E.推磨牙向远中使用Hyrax矫正器,每周加力4次,每次旋转1/4圈,属于
关于宪法的原则这个问题,人们有不同的说法,下列说法正确的是:()
生产力范畴反应的是()。
毛泽东思想成熟是在()。
科学研究发现,有一种微生物能清除土壤和农产品中的农药残留。某大学掌握了克隆该微生物的核心技术,建立了国际上首条高效降解菌剂生产线,并投入批量生产。经过在全国三百多万亩农田上试用,效果显著。这表明科技创新有利于()。①农业可持续发展②农村产业结构优化
正确认识人类精神生产与经济生活______政治现象之间的关系,______认识到思想文化的进步对于人类历史发展产生的不可忽略的巨大影响。
我们发现零工制度有一个重要的支持机制就是完善的、科学化的员工培训系统。几乎所有的现代企业和公司都非常重视内部培训,有的企业主甚至成为了培训狂,哪怕有一秒钟的空闲也要为员工安排一次培训。但真正有效的培训并不是无休止的洗脑和课程轰炸,不是“潜能激发”和“感恩教
A——falseimprisonmentB——interviewaclientC——courtacceptancefeeD——causeofactionE——localcounsel
最新回复
(
0
)