首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下划线的语句),使程序能输出正确的结
下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下划线的语句),使程序能输出正确的结
admin
2009-01-15
142
问题
下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.applet.*;
import java.awt.*;
import java.awt.*;
/*
<applet code="ex22_3.class" width=800 height=400 >
</applet>
*/
class CanvasCircle extends Canvas{
private Color cCircle;
public CanvasCircle(Color c){
cCircle = c;
}
public void paint(Graphics g){
int dimCricle, xCircle, yCircle;
Dimension sizeCurrent = getSize();
if (sizeCurrent.width > sizeCurrent.height){
dimCricle = sizeCurrent.width;
}
else{
dimCricle = sizeCurrent.height;
}
g.setColor(cCircle);
xCircle = (sizeCurrent.height - dimCricle) / 2;
yCircle = (sizeCurrent.width - dimCricle) / 2;
g.fillOval(xCircle, yCircle, dimCricle, dimCricle);
}
}
public class ex22_3 extends Applet{
public void init(){
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
CanvasCircle circleNew;
setLayout(gbl);
gbc.weightx = 1.0;
gbc.weighty = 1.0;
gbc.fill = GridBagConstraints.BOTH;
circleNew = new CanvasCircle(Color.red);
gbl.setConstraints(circleNew, gbc);
add(circleNew);
gbc.weightx = 1.5;
gbc.weighty = 1.5;
circleNew = new CanvasCircle(Color.green);
gbl.setConstraints(circleNew, gbc);
add(circleNew);
gbc.weightx = 2.0;
gbc.weighty = 2.0;
circleNew = new CanvasCircle(Color.blue);
gbl.setConstraints(circleNew, gbc);
add(circleNew);
}
}
ex22_3, h tml
<HTML>
<HEAD>
<TITLE>ex22_3</TITLE>
</HEAD>
<BODY>
<applet code="ex22_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
选项
答案
sizeCurrent.width<sizeCurrent.height xCircle= (sizeCurrent.width-dimCricle) /2 yCircle=(sizeCurrent.height-dimCricle)/2
解析
本题主要考查根据需要设计能完成绘制圆的Canvas子类的编程,以及与Applet图形绘制的基本操作相结合的综合应用。
解题关键是CanvasCircle类的编写,颜色作为对外的接口,根据颜色参数来确定绘制圆的颜色,因此通过类的构造方法从外界获得这个参数,paint()是重载了Canvas的方法,初始化CanvasCircle对象之后,自动执行实现绘制。本题中,第1处,根据条件判断式的含义,很容易得到答案;第2处,要明白窗口getSize().width属性,对应的参数应该是xCircle,同理第3处 getSize().height属性对应的参数是yCircle。
转载请注明原文地址:https://kaotiyun.com/show/z1np777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
(1)将ordet_list1表中的全部记录追加到order_list表中,然后川SOLSELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到results表中(其中客户号、客户名取自customer表,订单
在考生文件夹下,打开招生数据库sdb,完成如下综合应用:①创建文件名为form的表单,将表单标题改为:录取研究生。②在表单中设计“录取”和“退出”两个按钮。两个按钮功能分别如下:在“录取”按钮(Command1)中,编写程序,
在考生文件夹下,打开招生数据库sdb,完成如下操作:(1)在ksb表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为30。(2)在考生成绩表kscjb中给成绩字段设置有效性规则和默认值,成绩>=0AND成绩<=150;默认
(1)根据考生文件夹下的XXX表和jjj表建立一个查询chaxun,查询“工作单位”是“复旦大学”的所有教师的“姓名”、“职称”、“联系电话”,要求查询去向是表,表名是cxl.dbf,并执行该查询(“姓名”、“职称”取自表jjj,“联系电话”取自表XXX)
连续执行以下命令,最后一条命令的输出结果是SETEXACTOFFa="北京"b=(a="北京交通")?b
如果在命令窗口执行命令“LIST名称”后主窗口中显示记录号名称1电视机2计算机3电话线4电冰箱5电线假定名称字段为字符型,宽度为6,那么下面程序段的输出结
在下面的VisualFoxPro表达式中,运算结果为逻辑真的是
有如下赋值语句:a:"计算机"”,b="微型",结果为"微型机"的表达式是
随机试题
下列关于公司的说法不正确的是()。
葡萄胎患者术后避孕的最佳方法是
A.每次1mgB.每次2.5mgC.每次4mgD.每次5mgE.每次12.5mg氨氯地平用于高血压的初始剂量是()
导致市场垄断的最主要因素是()、()和()。
国家确定防洪标准的根据是()。
万能保险保单可以收取的费用不包括()。
2018年,科学家贺某招募8对夫妇志愿者(艾滋病病毒抗体男方阳性、女方阴性)参与实验。在人类胚胎上进行基因编辑并植入母体,最终有2名志愿者怀孕,其中1名已生下双胞胎女婴“露露”“娜娜”,另1名在怀孕中。其余6对志愿者有1对中途退出实验,另外5对均未受孕。该
Sincethebeginningofhistory,manhasbeenattractedbytheideaoflivingforever,ofwinningthefightagainstdeathanddis
A.pushingB.remainC.pregnantD.humiliatingE.undergroundF.vitallyG.draggingH.deriveI.obliviousJ.preferK
Throughouthistorythebasicunitofalmosteveryhumansocietyhasbeenthefamily.Membersofafamilylivetogetherunderthe
最新回复
(
0
)