下面是一个Applet程序,其功能是用一组坐标点绘制一个多边形,并通过沿坐标的垂直方向移动,把它移

题目

下面是一个Applet程序,其功能是用一组坐标点绘制一个多边形,并通过沿坐标的垂直方向移动,把它移到窗口的下半部分,然后填充它。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。

源程序文件清单如下:

import java.awt.*;

import java.applet.*;

/*

<applet code="ex11_3.class"width=800 height=400>

</applet>

*/

public class ex11_3 extends Applet

{

int[] x = {15,50,100,160,120,190 };

int[] y = {15,100,30, 15, 80, 50 };

public void init()

{

setBackground (Color. lightGray);

}

public void paint (Graphics g)

{

int[] y2 = new int[6];

g. setColor (Color. red);

Rectangle rect = getBounds();

g.drawPolygon (x, y2,6);

for(int i=0; i<6; i++)

y2[i] = y[i] + (rect.height / 2);

g. fillPolygon (x, y, 6);

}

}

ex11_3. html

<HTML>

<HEAD>

<TITLE>ex11_3</TITLE>

</HEAD>

<BODY>

<applet code="ex11_3.class" width=800 height=400 >

</applet>

</BODY>

</HTML>

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面关于Applet程序的描述中,错误的是()。

A.Applet程序的主类必须是Applet类的子类

B.Applet程序的主类中应有一个main()方法

C.Applet不是完整的独立程序

D.Applet的字节码文件必须嵌套在一个HTML文件中


Applet程序的主类中应有一个main()方法

第2题:

用 AutoCAD 软件绘制完一个正多边形后可以按空格键接着绘制另外一个正多边形。


第3题:

启用正交功能后,只能在水平方向或垂直方向绘制或移动对象。


正确

第4题:

【单选题】下列哪项是有关蛋白质合成的正确叙述?()

A.mRNA沿5′→3′ 方向,每次移动一个密码子距离

B.核糖体沿3′→5′ 方向,每次移动一个密码子距离

C.核糖体沿5′→3′ 方向,每次移动一个密码子距离

D.mRNA沿3′→5′ 方向,每次移动一个密码子距离


核糖体沿mRNA 5′→3′ 方向,每次移动一个密码子距离

第5题:

10、以下关于Applet和Java程序之间关系的叙述,错误的是()

A.一个Applet就是一段Java程序

B.Applet是一种特殊的Java程序,它需要运行在Web服务器上

C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上

D.Applet是一种Java SE平台的应用程序


Applet是一种特殊的Java程序,它需要运行在Web服务器上

第6题:

●试题六

【说明】

下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。

程序运行结果如图5所示。

图5

import javA.awt.*;

import javA.applet.*;

/*

<applet code=ex6_7.class width=800 height=400>

</applet>

*/

public class ex6_7 extends Applet{

private Button btn;

private boolean bDraw, bClear;

private int upX, upY,downX, downY;

public void init(){

setLayout(null);

bClear = false;

bDraw = false;

btn = new Button("clear");

btn.reshape(250, 150, 70, 30);

add(btn);

}

public void paint(Graphics g){

if(bClear){

g.clearRect(0, 0, getSize().width, getSize().height);

(1) ;

}

if(bDraw){

g.drawLine( (2) );

bDraw = false;

}

}

public void update(Graphics g){

(3) ;

}

public boolean mouseDown(Event event, int x, int y){

downX = x;

downY = y;

return true;

}

public boolean mouseUp(Event event, int x, int y){

upX = x;

upY = y;

(4) ;

repaint();

return true;

}

public boolean action(Event event, Object object){

if ( (5) ){

bClear = true;

repaint();

}

return true;

}

}

ex6_7.html

<HTML>

<HEAD>

<TITLE> ex6_7 </TITLE>

</HEAD>

<BODY>

<applet code=" ex6_7.class" width=800 height=400 >

</applet>

</BODY>

</HTML>


正确答案:
●试题六【答案】(1)bClear=false(2)downX,downY,upX,upY(3)paint(g)(4)bDraw=true(5)event.target==btn【解析】本题主要考查Applet的图形绘制,鼠标事件处理和用户界面的相关知识点以及会使用boolean类型的变量控制程序的流程。解题关键是,熟悉Applet的图形绘制,会用Graphics类的基本绘图方法,例如drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用drawLine()方法绘制由鼠标按下点到放开点的直线。注意不要将drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义。将bDraw变量的值设为false,这导致程序在调用paint()方法时不能进入g.drawLine语句,应改为true。最后要明确clear是btn对象显示在用户界面的名称,而不能作为对象来与event.target做比较,因此应改为btn,这在调试时就会出现变量无法解析的错误;符号==这里要确定点击btn事件发生才能做清除,否则不能达到预期效果。

第7题:

关于Applet,下面( )是错误的。

A.Applet就是一个Application

B.Applet可以在浏览器中执行

C.Application可以直接用Applet解释器执行

D.Applet也可以是一个Application


正确答案:A

第8题:

关于Applet,下面选项中错误的是( )。

A.Applet就是一个Application

B.Applet可以在浏览器中执行

C.Application可以直接用Java解释器执行

D.Applet也可以是一个Application


正确答案:A
解析:A是错误的,因为Applet中如果含有main()方法的话,它可以是一个Java Application,若没有的话,它仅是一个Java小应用程序,需要在支持Java的浏览器中运行;B选项是正确的,因为Applet一般是要在Web浏览器中执行的;C选项是正确的,Application是一个独立的应用程序,可以在任何环境下使用Java的解释器(Java Virtual Machine)直接执行,且它是从其中的 main ()方法开始运行的;D选项是正确的,解释见A选项的解释。

第9题:

轴向游隙是指轴承内、外圈沿其轴线方向的相互()。

A、移位

B、移动

C、移量

D、移开


参考答案:C