下面是一个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);elseg.drawRect(downX, downY, upX - downX, upY - downY);}else if(upX > downX upY < downY){if(bStyle)g.fillRect(downX, upY, upX - downX, downy - upY);elseg.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);b

下面是一个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);

else

g.drawRect(upX, downY, downX - upX, upY - downY);

}

else if(upX < downX && upY < downY){

if(bStyle)

g.fillRect(upX, upY, downX - upX, downy - upY);

else

g.drawRect(upX, upY, downX - upX, downy - upY);

}

bDraw = false;

}

if(bClear)(

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

b


相关考题:

●试题六阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】下面是一个Applet程序,其功能是输出已定义好的两个变量x和chr。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import javA.awt.*;(1) import javA.Applet;(2) public class MyApplet implements Applet{int x=10;(3) char chr="R";Label output1;Label output2;(4) private void init(){output1=new Label("定义int类型变量"+"x,的初值为"+x);output2=new Label("定义char类型变量"+"chr,的初值为"+chr);add(output1);add(output2);}}HTMLHEADTITLEex34_3/TITLE/HEADBODY(5) applet class="MyApplet.class"width=400 height=400 /applet/BODY/HTML

下面Applet在窗口中实现一个不可编辑的TextField,并且显示“ok”。在横线处填入正确的语句。import java.applet.Applet;import java.awt.t;public class Test extends Applet {TextField tf;public void init () {setLayout (new GridLayout(1,0);tf=new TextField("ok");【 】add(tf);}}

下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:import java.awt.*;import java.awt.event.*;import java.applet.Applet;import java.lang.Math.*;/*<applet code="ex18_3.class" width=800 height=400 ></applet>*/public class ex18_3 extends Applet implements ActionListener {Panel pane=new Panel();drawWnd dw;Label 11 = new Label("峰值");TextField tf1 = new TextField(15);Button btn = new Button("OK");private float a=0;public void init(){pane.setLayout(new FlowLayout(FlowLayout.CENTER,25,5));pane.add(11);pane.add(tf1);pane.add(btn);btn.addActionListener(this);add("North",pane);dw=new drawWnd();add("South",dw);}class drawWnd extends Canvas {drawWnd() {setSize(300,100);setBackground(Color. GRAY);}public void paint(Graphics g) {g.setColor(Color.GREEN);for(int i=0;i<getSize().width-1;i++){int y=0;int y1=y+(int) (Math.sin(i)*a);int y2=y1+(int) (a*Math.sin(i+1));g.drawLine(i,y1,i+1,y2);}}}public void actionPerformed(ActionEvent ae) {try{a=Integer.parseInt(tf1.getText());dw.repaint();}catch(NumberFormatException nfe){tf1.setText("error!");}}}ex18_3.html<HTML><HEAD><TITLE>ex18_3</TITLE></HEAD><BODY><applet code="ex18_3.class" width=800 height=400 ></applet></BODY></HTML>

下面是一个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 nClick=over(this) title=放大;public void init(){URL url=getCodeBase();IMG nClick=over(this) title=放大=getImage(url,"ex01_3.gif");MediaTracker mt=new MediaTracker();mt.addImage(IMG nClick=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 nClick=over(this) title=放大,x,y);g.setColor(Color.lightGray);int w = IMG nClick=over(this) title=放大.getWidth(this);int h = IMG nClick=over(this) title=放大.getHeight(this);for(int i=0;i<thick;i++)g.draw3DRect(x,y,w+(a*i),true);}}ex01 3.html<HTML><HEAD><TITLE>ex01_3</TITLE></HEAD><BODY><applet code="ex01_3.class"width=800 height=400></applet></BODY></HTML>

下面是一个Applet程序,程序的功能输出一个彩色窗体。请改正程序中的错误(有下划线的语句),使程序能输出正确结果。注意:不改动程序的结构,不得增行或删行。程序的输出结果为:import java.awt.*;import java.awt.image.*;import java.applet.Applet;public class MemoryImage extends Applet{Image IMG nClick=over(this) title=放大;public void init(){Dimension d=getSize();int w=d.width,h=d.height;int pix[ ]=new int[w*h];int index=0;for(int y=0;y<h;y++)for(int x=0;x<w;x++){int red=(x|y)0xff;int green=(x*2|y*2)0xff;int blue=(x*4|y*4)0xff;pix[index++]=(255<<24)|(red<<16)|(green<<8)|blue;}IMG nClick=over(this) title=放大=createImage(new FilteredImageSource(w,h,pix, 0,w));}public void paint(Graphics g){g.drawImage(IMG nClick=over(this) title=放大, 0,0,super);}}ex36_3.html:<html><head><title>A Simple Program</title></head><body><applet code=" MemoryImage.class" width=800 height=400></applet></body></html>

下面是一个Applet程序,其功能是分析任意输入的字符串,将字符串中由空格隔开的字串提取并显示出来。要求,窗口中有一个输入文本框,用于接受输入的字符串,一个按钮,点击则开始分析,分析结果用图形方式打印在窗口下面的区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:import java.awt.*;import java.applet.*;import java.util.StringTokenizer;public class ex27_3 extends Applet{private TextField tf;private Button btn;public void init(){tf = new TextField(25);add(tf);btn= new Button("分析");add(btn);resize(250, 200);}public void paint(Graphics g){String str = tf.getText();StringTokenizer st = new StringTokenizer(tf);int n = 80;while (!st.hasMoreTokens()){String tem = st.nextToken();g.drawString(tem, n, 80);n += 20;}}public boolean action(Event e, Object o){if (o == "分析") {repaint();return true;}elsereturn false;}}ex27_3.html<HTML><HEAD><TITLE>ex27_3</TITLE></HEAD><BODY><applet code="ex27_3.class" width=800 height=400</applet></BODY></HTML>

下面是一个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>

下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这 3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import java.applet.*;import java.awt.*;import java.awt.*;/*<applet code="ex15_3.class"width=800 height=400></applet>*/class CanvasCircle extends Canvas{private Color cCircle;public CanvasCircle(Color c){cCircle=c;}public void paint(Graphics g){int dimCircle,xCircle,yCircle;Dimension sizeCurrent=getSize();if(sizeCurrent.width>sizeCurrent.height){dimCircle=sizeCurrent.width;}else{dimCircle=sizeCurrent.height;}g.setColor(cCircle);xCircle=(sizeCurrent.heighe-dimCircle)/2;yCircle=(sizeCurrent.width-dimCircle)/2;g.fillOval(xCircle,yCircle,dimCircle,dimCircle);}}public class exl5_3 extends Applet{public void init(){GridBagLayout gbl=new GddBagLayout();GridBagConstraints gbc=new CridBagConstraints();CanvasCircle circleNew;setLayout(gbl);gbc.weightx=1.0;gbc.weighty=1.0;gbc.fill=GridBagConstraints.BOTH;circleNew=new CanvasCircle(Color.red);gbl.setConstraints(circleNew,gbc);add(circleNeW);gbc.weightx=1.5;gbc.weighty=1.5;circleNew=new CanvasCircle(Color.green);gbl.sctConstraints(eircleNew,gbc);add(circleNew);gbc.weightx=2.0;gbc.weighty=2.0;circleNew=new CanvasCircle(Color.blue);gbl.setConstraints(circleNew,gbc);add(circleNew);}}ex15_3.html<HTML><HEAD><TITLE>ex15_3</TITLE></HEAD><BODY><applet code="ex15_3.class"width=800 height=400></applet></BODY></HTMI>

2、设需要选一个窗,要求实现的最小阻带衰减是45db,可以选择的窗有A.矩形窗。B.Hann窗。C.Hamming窗。D.Blackman窗。