首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面的Applet程序,其功能为画一个正方形,大小140*140,其背景色为蓝色(其填充色为pink色,各边离Applet的边为10像素)和一个在填充的正方形中自右上到左下来回移动的小球(半径15)。请改正程序中的错误(有下划线的语句),使程序执行后,能得
下面的Applet程序,其功能为画一个正方形,大小140*140,其背景色为蓝色(其填充色为pink色,各边离Applet的边为10像素)和一个在填充的正方形中自右上到左下来回移动的小球(半径15)。请改正程序中的错误(有下划线的语句),使程序执行后,能得
admin
2009-01-15
42
问题
下面的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://jikaoti.com/ti/sqb0FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
数据库系统的数据完整性是指保证数据的
在查询设计器环境中,“查询”菜单下的“查询去向”命令指定了查询结果的输出去向,输出去向不包括
设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
下列关于栈的描述中错误的是
有以下程序:INPUTTOAS=0IFA=10S=1ENDIFS=2?S假定从键盘输入的A值是数值型,则程序的运行结果是
以下有关数组的叙述中,错误的是()。
假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是()。
英文缩写CAD的中文意思是
下列数据中是八进制数的是______。
随机试题
女性,转移性右下腹痛8小时,伴恶心、呕吐,发热,体温38℃,脉搏90/min,右下腹压痛,反跳痛,肌紧张。白细胞12×109/L,尿白细胞1~2个/HP。最可能的诊断
甲盗窃了一批珍贵的古董文物,为避免罪行暴露被抓,他将文物藏在自己的私密地窖内十年之久。多年之后,甲见文物被盗风波已经渐渐平息,遂将文物拿出,为方便携带和销赃,甲将部分文物砸碎。对甲盗窃珍贵文物行为和砸碎珍贵文物的行为定性。下列哪一选项是正确的?()
房地产由于具有()等特性,加上交易手续较复杂、交易税费较多等原因,使得同一宗房地产的买卖不会频繁发生,一旦需要出售,通常需要较长的时间才能脱手。
按照《博物馆建筑设计规范》的规定,下列关于历史类博物馆的藏品库设计,哪条规定是不正确的?
融资决策的关键是确定资本结构,以使融资风险和融资成本相配合。()
【2016山西太原】盲人失去视觉,通过实践活动使听觉更加敏锐的现象是感觉的补偿。()
加工一批零件,甲独做需3天完成,乙独做需4天完成,两人同时加工,完成任务时,甲比乙多做24个,这批零件有多少个?()
下列不属于行政诉讼受案范围的是()。
理想变为现实不是一蹴而就、一帆风顺的,往往会遭遇波澜和坎坷。因此,在确立理想和实现理想的过程中,要充分认识理想实现的()
MillionsofAmericansandforeignersseeGI.Joeasamindlesswartoy,thesymbolofAmericanmilitaryadventurism,butthat’s
最新回复
(
0
)