首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面的Applet程序,其功能为画一个正方形,大小140*140,其背景色为蓝色(其填充色为pink色,各边离Applet的边为10像素)和一个在填充的正方形中自右上到左下来回移动的小球(半径15)。请改正程序中的错误(有下划线的语句),使程序执行后,能得
下面的Applet程序,其功能为画一个正方形,大小140*140,其背景色为蓝色(其填充色为pink色,各边离Applet的边为10像素)和一个在填充的正方形中自右上到左下来回移动的小球(半径15)。请改正程序中的错误(有下划线的语句),使程序执行后,能得
admin
2009-01-15
81
问题
下面的Applet程序,其功能为画一个正方形,大小140*140,其背景色为蓝色(其填充色为pink色,各边离Applet的边为10像素)和一个在填充的正方形中自右上到左下来回移动的小球(半径15)。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。
注意:不改动程序的结构,不得增行或删行。程序的执行结果为:
import java.awt.*;
import java.applet.*;
/*
<applet code=BallAnim width=800 height=600>
</applet>
*/
//画一个正方形和一个移动的球,实现了Runnable接口。
public class BallAnim extends Applet implements Runnable
{
Thread animThread;
int ballX=100;//球的x坐标
int bally;10;//球的Y坐标
int ballDirection=0;//球移动的方向标志:0表示从上向下移动,1表示从下向上移动
public void init()
{
super.setBackground(Color.blue);
}
public void start()
{
if (animThread !=null)
{
animThread = new Thread(this);
animThread.start();
}
}
public void stop()
{
animThread.stop();
animThread = null;
}
// 实现Runnable接
public void run()
{
Thread.currentThread().setPriority(Thread. NORM_PRIORITY);//设置线呈优先级
NORM_PRIORITY
while (true)
{
moveBall();
try
{
Thread.sleep(100); // 休眠0.1秒
}
catch (Exception sleepProblem)
{
// This applet ignores any exceptions if it has a problem sleeping.
// Maybe it should take Sominex
}
}
}
private void moveBall ()
{
// 球对角运动
if (ballDirection == 0)
{
ballX-=2; / / 如果球从左向右运动,球的X坐标减少2
ballY+=2; / / 如果球从上向下运动,球的Y坐标增加2
if (ballY > 100)//球的Y坐标增加到100, 改变球的运动方向
{
ballDirection = 1;
ballX = 10;
ballY=100;
}
}
else
{
ballX+=2; //如果球从右向左运动,球的X坐标增加2
ballY-=2;//如果球从下向上运动,球的Y坐标减少2
if (bally <= 10)//球的X坐标减少到10,改变球的运动方向
{
ballDirection = 0;
ballX = 100;
ballY=10;
}
}
paint();
}
public void paint(Graphics g)
{
g.setColor(Color.pink);
g.fillRect(10, 10, 120, 120);
g.setColor(Color.green);
g.fillOval(ballX,ballY, 30, 30);
}
}
ex40_3, html:
<html>
<head>
<title> ex40_3</title>
</head>
<body>
<applet code=" BallAnim.class" width=800 height=400>
</applet> </body> </html>
选项
答案
this.setBackground(Color.blue); animThread==null repaint();
解析
本题主要考查Java Applet程序的设计,Java语句的线程机制以及for循环语句。解答本题的关键是比较熟练的掌握JavJava语句的线程机制以及for循环语句的有关知识。线程是程序中的一个执行流。一个执行流是由CPU运行程序的代码、操纵程序的数据所形成的。创建线程的两种基本方法:(1)通过实现Runnable接口创建线程。(2)通过继承Thread类创建线程。控制线程运行的基本方法有:(1)sleep(),使比其低的优先级线程运行。(2)stop(),强行终止线程。(3)run(),创建线程体。(4)start()使新创建的线程处于可运行状态等。在本题中,this.setBackground(Color.blue);语句的功能是设置Applet显示区的背景色为蓝色,if(animThread !=null)语句的功能是判断线程animThread是否存在,语句的功能是重新绘制Applet。
转载请注明原文地址:https://kaotiyun.com/show/d1np777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
创建一个表,使用的SQL命令是
与“SELECT*FROM教师表INTODBFA”等价的语句是
假设表单上有一选项组:⊙男○女,如果选择第2个按钮“女”,则该选项组Value属性的值为
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
设有关系SC(SNO,CNO,GRADE),其中,SNO、CNO分别表示学号和课程号(两者均为字符型),GRADE表示成绩(数值型),若要把学号为“S101”的同学,选修课程号为“C11”,成绩为98分的记录插入到表SC中,正确的语句是
在VisualFoxPro中,如果希望跳出SCAN…ENDSCAN循环体外执行ENDSCAN后面的语句,应使用
下列程序段执行以后,内存变量y的值是CLEARx=12345y=0DOWHILEx>0y=y+x%10x=int(x/10)ENDDO?y
使用如下3个数据库表:职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单.dbf:订单号C(4),客户名C(4),职员号C(
考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:文件给出字符串,删除字符串开头和末尾的空白,结果屏幕输出。试题程序:#请在______处使用一行代码或表达式替换#注意:请不要修改其他已给出代码word=”
在编写JavaApplet程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上______语句。
随机试题
Fromclimatechangetotheongoingpandemic(大流行病)andbeyond,theissuesfacingtoday’sworldareincreasinglycomplexanddyna
为什么说天京事变是太平天国由兴转衰的标志?
Ⅰ期睾丸肿瘤首选的治疗方式是
A.目内眦B.目外眦C.鼻翼旁D.耳前E.耳后
违反《中华人民共和国证券法》的相关规定,法人以他人名义设立证券账户或者利用他人账户买卖证券的,应给予的处罚有()。.Ⅰ.责令改正Ⅱ.没收违法所得,并处以违法所得1倍以上5倍以下的罚款Ⅲ.没有违法所得或者违法所得不足3万元的,处以3万元以上30
到2020年,中国将成为世界第______位出境旅游大国,第______位旅游接待大国。
注意事项1.本题本由给定资料与作答要求两部分构成。考试时限为180分钟。其中,阅读给定资料参考时限为50分钟,作答参考时限为130分钟。满分150分。2.监考人员宣布考试开始时,你才可以开始答题。3.请在题本、答题卡指定位置填
为保护本单位或个人开发软件不受侵权,(6)。依据《计算机软件保护条例》对软件的保护包括(7)。软件著作权的保护期截止于该软件(8)后第50年的12月31日。某应用部门(甲方)提出需求、提供经费委托某软件公司(乙方)开发软件,若在协议(合同)中未规定软件著作
以下关于窗体的叙述中,错误的是()。
ThefirstperformanceofTchaikovsky’sTheNutcracker,inSt.Petersburgin1892,wasaflop.Wroteonecriticthenextday:"Fo
最新回复
(
0
)