首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或
admin
2009-01-15
86
问题
下面是一个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全国计算机二级
相关试题推荐
数据库应用系统中的核心问题是
要使“产品”表中所有产品的单价上浮8%,正确的SQL语句是
使用如下数据表:学生.DBF.学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF.学号(C,8),课程号(C,3),成绩(N,5,1)假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“101”课程的平均成绩,正确的
下面有关数据库表和自由表的叙述中,错误的是
要清除顶层表单中调用的菜单文件,一般在表单的哪个事件中编写程序代码()。
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是
“教师表”中有“职工号”、“姓名”、“工龄”和“系号”等字段,“学院表”中有“系名”和“系号”等字段,求教师总数最多的系的教师人数,正确的命令序列是
十进制整数设为整数类I,则下面属于类I的实例的是
请选择正确的语句填入下列程序的横线处。importjavax.Swing.*;importjava.awt.*;importjava.awt.event.*;publicclassex46
下列的哪个选项可以正确用以表示八进制值8?
随机试题
—Let’sgotothezoothisSunday,OK?—________.Ilovetoseeallkindsofanimals.
轻微刺激引起强烈感觉的是
有关β2-微球蛋白测定的叙述,何者是错误的
应禁用氟马西尼的是
【背景资料】某道路工程为Y市南部一条东西走向的主干道,道路标准横断面设计为:6.0m人行道+4.0m绿化带+14.0m车行道+4.0m绿化带+6.0m人行道,道路总宽度为34.0m。根据设计文件,该路面采用沥青混凝土二层式面层,下面层为70mm厚粗粒式沥青
背景:北方某公建工程,建筑面积30000m2,施工单位为某建设集团公司。框架结构,建筑平面东西长75m,南北长45m,檐高36m。主入口为宽25m、高10m的悬挑钢筋混凝土结构。结构外围采取双排脚手架。施工过程中发生了如下事件:事件一:项目部规定脚手
汉字输入编码方案中的自然码属于()类编码。
唯物辩证法的实质和核心是()。
服务群众应该做到()。
若某企业拥有的总资金数为15,投资4个项目P1、P2、P3、P4,各项目需要的最大资金数分别是6、8、8、10,企业资金情况如图a所示。P1新申请2个资金,P2新申请1个资金,若企业资金管理处为项目P1和P2分配新申请的资金,则P1、P2、P3、P4尚需的
最新回复
(
0
)