首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下划线的语句),使程序能输出正确的结
下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下划线的语句),使程序能输出正确的结
admin
2009-01-15
89
问题
下面是一个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全国计算机二级
相关试题推荐
当order_detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事①根据order_detail表中的记录重新计算order_list表的总金额字段的值
如果在命令窗口执行命令“LIST名称”后主窗口中显示记录号名称1电视机2计算机3电话线4电冰箱5电线假定名称字段为字符型,宽度为6,那么下面程序段的输出结
设数据库表中有一个C型字段NAME,打开表文件后,要把内存变量CC的字符串内容输入到当前记录的NAME字段,应当使用命令:
在下面的VisualFoxPro表达式中,运算结果为逻辑真的是
计算结果不是字符串“Teacher”的语句是
有如下赋值语句:a:"计算机"”,b="微型",结果为"微型机"的表达式是
SQL语句中删除视图的命令是
在项目管理器中,将一程序设置为主程序的方法是
假设已用命令MODIFYMENUmymenu创建了一个菜单并生成了相应的菜单程序,则运行菜单程序的命令是
随机试题
有关泡性角结膜炎特点的叙述中,错误的是
月经过多的主要病机是( )。
患者,女性,30岁,主诉“反酸、烧一心5天”入院,考虑胃酸分泌过多,可能与下列哪种细胞有关
部分定向聚酯纱线(POY)
中国白酒与白兰地、威士忌、朗姆酒、伏特加、金酒并称世界六大蒸馏名酒,按香型可分为酱香、清香、窖香和复香等,()属于浓香型白酒()。
1902年.我国颁布的第一个近代学制是()。
一、注意事项1.申论考试是对应试者阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力的测试。2.作答参考时限:阅读材料40分钟,作答时间110分钟。3.仔细阅读给定资料,按照后面提出的申论要求依次作答。二、给定资料
在美国,每年接受治疗的精神忧郁症病人的人数超过200万人,是中国的接近10倍,而中国的人口则接近美国的10倍。以下各项如果为真,都有助于解释上述现象,除了:
对于因特网,以下哪种说法是错误的?______。
在下面的VisualFoxPro表达式中,运算结果为逻辑真的是
最新回复
(
0
)