首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行
admin
2009-01-15
108
问题
下面是一个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全国计算机二级
相关试题推荐
最近网络和媒体频频对“富二代”与“官二代”的事件大肆报道,对此谈谈你的看法。
《物权法》第116条规定:“天然孳息,由所有权人取得;既有所有权人又有用益物权人的,由用益物权人取得。当事人另有约定的,按照约定。法定孳息,当事人有约定的,按照约定取得;没有约定或者约定不明确的,按照交易习惯取得。”关于这一规定,下列哪一说法是错误的?(
出租车司机王某送危重病人李某去医院,情形危急,为争取时间,王某连闯三个红灯,被交警拦截并被告知罚款,经王某解释,交警对王某未给予处罚且为其开警车引道,将李某及时送至医院。对此事件,下列哪一项表述是正确的?()
根据我国宪法的规定,下列选项中,既是我国公民基本权利又是我国公民基本义务的有(
下列关于“十二五”时期的历史定位,叙述不正确的是()。
下列关于我国近代前期科技的叙述,不正确的是()。
根据以下资料,回答以下问题。中国汽车工业协会发布的2009年4月份中国汽车产销数据显示,在其他闰家汽车销售进一步疲软的情况下,国内乘用车销量却持续上升,当月销量已达83.1万辆,比3月份增长7.59%,同比增长37.37%。乘用车细分为
设f(x)在x=x0的某邻域内有定义,则“f′(x)存在且等于A”是“f′(x0)存在且等于A”的()
栈中允许进行插入和删除的一端称为()。
下列线程状态转换序列,在线程实际运行中可能出现的序列是()。
随机试题
一个社会组织的领导者必须对本组织的声誉和形象承担()
下列哪项不是甲状腺素的功能
3岁小儿,低热4周,乏力、盗汗、食欲不振,出生时未接种卡介苗,其祖母1年前患开放性肺结核,今前来就诊。向患儿家长做健康指导时不恰当的是
患者,男,58岁。因屏气用力提物而突发胸部剧烈疼痛,继而出现呼吸困难,诊断为自发性气胸。自发性气胸继发于
在感染过程的5种结局中最不常见的表现是
求助者主诉,其备课思考时,脑中突然冒出与主题无关的联想,但心中很明白这一思想不是自己想要的,这一现象称为()。
Yourhelpis______forthesuccessoftheproject.
计划将甲、乙、丙三种不同的树苗种植在一条直路的同一侧,要求相邻的两棵树苗不能相同,那么第1棵与第5棵树同是甲种树苗的种法共有()种。
J.Martin指出,以下哪项(些)是造成数据处理生产率低下的主要原因?Ⅰ.程序的适应性差Ⅱ.数据格式的不一致导致数据的共享性差Ⅲ.系统开发方法选择不当Ⅳ.开发工具选择不当
有以下程序:椭nclude<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;fbr(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}main(){int
最新回复
(
0
)