问答题库

问题描述:

[问答题] 下面是一个Applet程序,其功能是绘制三维矩形以使该矩形面凹下,并将图像放入凹下的矩形面中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.applet.*; import java.awt.image.*; import java.util.*; import java.net.*; /* <applet code="ex01_3.class"width=800 height=400> </applet> */ public class ex01_3 extends Applet { private Image IMG onClick=over(this) title=放大; public void init() { URL url=getCodeBase(); IMG onClick=over(this) title=放大=getImage(url,"ex01_3.gif"); MediaTracker mt=new MediaTracker(); mt.addImage(IMG onClick=over(this) title=放大,1); try { mt.waitForAll(); } catch(Exception e) { e.printStackTrace(); } setBackground(Color.black); } public void paint(Graphics g) { int thick=3,x=10,y=10; g.drawImage(IMG onClick=over(this) title=放大,x,y); g.setColor(Color.lightGray); int w = IMG onClick=over(this) title=放大.getWidth(this); int h = IMG onClick=over(this) title=放大.getHeight(this); for(int i=0;i<thick;i



Java解释器采用生成与体系结构无关的 ______ 的技术,只需安装Java运行系统,就可保证Java程序可以在网络的任何地方运行。1991年,Sun公司的Jame Gosling、Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个__________软件,它是Java的前身。数据的组织和存储会直接影响算法的实现方式和 【2】 。选择正确的语句填入下列程序的横线处。import java.awt.*;public class ex26 { public static void main(String[] args) { Frame f = new Frame("ex26"); MenuBar mb = new MenuBar(); ______ Menu m1 = new Menu("menu1"); Menu m2 = new Menu("menu2"); mb. add (ml); mb. add (m2); f.setSize(300, 100); f. setVisible (true); } }若用户需要自己设置构件在容器中的大小和位置,则需要取消容器的______。

评评难度:

参考答案:

问题解析:

new MediaTracker(this)g.drawImage(img,x,y,this)g.draw3DRect(--x,--y,w+(2*i),h+(2*i),false) 本题主要考查Applet图形绘制和图像显示。解题的关键是掌握绘制三维矩形的基本方法,掌握MediaTracker的基本用法,熟悉图形界面的坐标分布以及通过简单的方法来获得坐标。本题中,第1处,MediaTracker类的对象初始化需要将this指针作为参数传递给该类的构造函数;第2处,Graphics类的对象g调用drawImage()方法显示从磁盘文件中读取的Image对象,第4个参数需要将this作为参数传递给该方法;第3处,g调用draw3DRect()方法绘制三维矩形,最后一个参数为false表示矩形是凹下的,相反为凸起,第1个和第2个参数做递减是为了让显示效果看起来是矩形的左上方和图像的左上方有一定的距离,让人感觉矩形将图像包含在内。程序运行结果如下。

相关考题