首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
admin
2009-01-15
41
问题
下面是一个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://jikaoti.com/ti/z6b0FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在关系模型中,每一个二维表称为一个
数据库设计的根本目标是要解决
数据库技术的根本目标是要解决数据的
设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序排序,生成新的表WS,正确的SQL语句是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
下列选项中不属于结构化程序设计原则的是
在VisualFoxPro中,假定数据库表S(学号,姓名,性别,年龄)年SC(学号,课程号,成绩)之间使用“学号”建立了表之间的永久联系,在参照完整性的更新规则、删除规则和插入规则中选择设置了“限制”。如果表S所有的记录在表SC中都有相关联的记录,则
基于VisualFoxPro基类生成一个表单对象的语句是
在考生文件夹下完成下列操作。为了查询低价机票,请设计一个表单myform.scx,其界面如下图所示:表单控件名为formone,表单的标题为“机票折扣查询”。表单左侧有1个标签控件Labelone用于显永内容“输入折扣”,1个文本框控件
在VisualFoxPro中,程序中不需要用PUBLIC等命令明确声明和建立,可直接使用的内存变量是
随机试题
社会发展的决定力量是()
A.200~300册B.300~400册C.400~500册D.500~600册E.600~700册中学的藏书量,每平方米藏书量宜为
在传染病的预防工作中,有关单位应当按照国家规定,对以下人员采取有效的防护措施和医疗保健措施,除了
男性,28岁,左膝关节肿胀、疼痛,伴低热、盗汗、纳差3个月。查体:消瘦、贫血面容,体温37℃,血沉50mm/h,左膝关节梭形肿胀,浮髌试验阳性。X线片示关节间隙增宽,骨质疏松,未见骨质破坏。如确诊为左膝关节结核,应选择的最佳治疗方案为
根据《标准施工招标文件》中的通用合同条款,为了不错失索赔权利,承包人应在索赔事件影响结束后的()天内,提交最终索赔报告。
其他因素不变的条件下,债券的利率风险在( )会更高。
已知某公司每张认股权证可购买1股普通股,认股权证的市场价格为5元,对应的普通股市场价格为14元,凭认股权证认购股票的认购价格为12元,那么该认股权证的时间价值为()元。
下列税务处理中,符合个人独资企业和合伙企业征税规定的有()。
紧缩性货币政策的运用会导致()。
ToHelptheKids,ParentsGoBacktoSchool[A]Forafewyearsnow,everyparentofanewbornbabyintheSouthFloridadistrict
最新回复
(
0
)