问题 问答题

下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下:

import java.awt.*; import java.applet.*; /* <applet code="ex13_3.class" width=800 height=400 > </applet> */ public class ex13_3 extends Applet{private Button btnClear;private CheckboxGroup cbg;private Checkbox chk1, chk2; private int upX, upY;private int downX, downY;private boolean bDraw, bClear, bStyle;public void init(){ bDraw = false; bClear = false; bStyle = false; setLayout(null); cbg = new CheckboxGroup(); chk1 = new Checkbox("Hollow", cbg, true); chk2 = new Checkbox("Filled", cbg, false); chk1.reshape(80,getSize().height-80,80,25); chk2.reshape(160,getSize().height-80,80,25); add(chk1); add(chk2); btnClear = new Button("clear"); btnClear.reshape(240,getSize().height-80,80,25); add(btnClear);}public void paint(Graphics g){ if(bDraw){ if(upX > downX && upY > downY){ if (bStyle) g. fillRect (downX, downY, upX - downX, upY - downY); else g.drawRect(downX, downY, upX - downX, upY - downY);}else if(upX > downX && upY < downY){ if(bStyle) g.fillRect(downX, upY, upX - downX, downy - upY); else g.drawRect(downX, upY, upX - downX, downy - upY);}else if(upX < downX && upY > downY){ if(bStyle)g.fillRect(upX, downY, downX - upX, upY - downY); elseg.drawRect(upX, downY, downX - upX, upY - downY); }else if(upX < downX && upY < downY){ if(bStyle)g.fillRect(upX, upY, downX - upX, downy - upY); elseg.drawRect(upX, upY, downX - upX, downy - upY); } bDraw = false; } if(bClear)( g.clearRect(0,0, getSize().height, getSize().width); bClear = false;} } public void update(Graphics g){ paint(g); } public boolean mouseUp(Event e, int x, int y){ upX = x; upY = y; bDraw = true; repaint(); return true; } public boolean mouseDown(Event e, int x, int y){ downX = x; downY = y; return true; } public boolean action(Event e, Object o){ if(e.target == btnClear)( bClear = true; repaint();}if(chkl.getState() == true){ bStyle = true;}if(chk2.getState() == true){ bStyle = false; } return true; }}ex13_3.html<HTML> <HEAD> <TITLE>ex13_3</TITLE> </HEAD> <BODY> <applet code="ex13_3.class" width=800 height=400 > </applet> </BODY></HTML>

答案

参考答案:

解析:g.clearRect(0,0,getSize().width,getSize().height) bStyle=false bStyle=true 本题主要考查Applet图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉Applet中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过mouseUp(),mouseDown()来获取鼠标移动的坐标,熟悉CheckboxGroup类Checkbox类的用法,通过Checkbox来控制矩形是否填充。本题中,第1个空,对象g的方法clearRect()的最后两个参数应该对调因为第3个参数是代表矩形的宽度,第四个是高度;第2个空,点击第1个Checkbox是不用填充,这里bStyle=false是表示用填充;第3个空,解释和第2个空的相似,正好相反。

填空题
材料分析题

阅读下列关于高新技术产业的图文资料,回答问题。

高新技术产业是国民经济中重要的战略性先导产业。经济地理学中的重心理论是借鉴物理学的重心概念发展起来的、研究经济空间格局演进的一种重要方法。高新技术产业重心是指高新技术产业发展空间中的某一点,它可以反映一定区域内各个方向的高新技术产业发展在该点所处于的平衡状态。一般来说,某个方向的高新技术产业产值比重高,重心就偏向那个方向。经济重心亦然。

1.1995年至2009年期间,在东西和南北方向上,我国高新技术产业重心移动分别呈现什么趋向?

_______________________________________________________________________________

2.概括我国高新技术产业区域分布的基本特征,并说明判断依据。

_______________________________________________________________________________

3.简析我国高新技术产业区域分布的基本特征形成的区位条件。

_______________________________________________________________________________

4.研究发现,2005年至2007年经济重心总体向西移动,高新技术产业重心在其后2007年至2009年总体也呈现出向西移动;2006年至2008年高新技术产业重心先向北后向南移动,经济重心在其后的2007年至2009年也出现先向北后向南移动。根据这两个事实分别说明我国区域高新技术产业发展与经济发展的牵引关系。

_______________________________________________________________________________

 5.近十年来,经济重心与高新技术产业重心空间移动特点与我国推出的重大区域开发战略相关。列举一项我国重大区域开发战略。

_______________________________________________________________________________