问答题

请完成下列Java程序:建立一个Applet程序,包括创建一个画布构件、一个面板构件,面板构件上包含3个按钮,用来设置画布和面板的背景颜色,这3个按钮(Red、Green、Blue)分别控制画布和面板背景色改变为3原色,即红、绿、蓝。要求画布宽度为300,高度为200。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件代码清单如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="ex10_2.class" width=800 height=400 >
</applet>
*/
public class ex10_2 extends Applet

private Panel pane110_2;
private Canvas canvas10_2;
private Button btn1, btn2, btn3;
public void init()

canvas10_2=new Canvas();
canvas10_2. ______;
canvas10_2.setBackground(Color.black);
add(canvas10_2);
pane110_2 = new Panel();
pane110_2.setBackground( Color.black );
btn1 = new Button( "Red" );
btn2 = new Button( "Green" );
btn3 = new Button( "Blue" );
pane110_2.add( btn1 );
pane110_2.add( btn2 );
pane110_2.add( btn3 );
______;

public boolean action( Event e, Object o )

if( e.target == btn1 )

pane110_2.setBackground( Color.red );
canvas10_2.setBackground( Color.red );

else if( e.target == btn2 )

pane110_2.setBackground( Color.green );
canvas10_2.setBackground(Color.green);

else if( e.target == btn3 )

canvas10_2.setBackground( Color.blue );
pane110_2.setBackground( Color.blue );

return true;

【参考答案】

resize(300,200)
add(pane110_2)
热门 试题

问答题
下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如3阶魔方阵为 8 1 6 3 5 7 4 9 2 要求用Applet实现上述魔方阵。窗口中包括提示栏,提示输入0~15之间的奇数;输入框,输入方阵的阶数;按钮;点击则输出魔方阵;画布用于输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.lang.Math.*; * <applet code= ex10_3.class width=800 height=400> < applet> * public class ex10_3 extends Applet implements ActionListener Panel pane=new Panel(); drawWnd dw; Label 11 = new Label( 输入(0~15的奇数): ); TextField tf1 = new TextField(5); Button btn = new Button( OK ); int[] [] a=new int[16] [16]; int n=15; public void init() pane.setLayout(new FlowLayout(FlowLayout.CENTER, 25,5)); pane.add(11); pane.add(tf1); pane.add(btn); pane.addActionListener(this); add( North ,pane); dw=new drawWnd(); add( South ,dw); class drawWnd extends Canvas drawWnd ( ) setSize(300,300); setBackground(Color.GRAY); public void paint(Graphics g) g.setColor(Color. GREEN); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g.drawString(Integer.toString(a[i] [j]),i*20,j*20); public void actionPerformed(ActionEvent ae) try n=Integer.parseInt (tf1.getText ()); int i=1, j=1; for (i=1;i<=n;i++) for (j=1; j<=n; j++) a[i] [j]=0; j=n 2+1; a[i] [j]=1; for (int k=1; k<=n*n; k++) i--; j++; if((i<1)&&(j>n)) i=i+2; j--; else if (i<1) i=n; if (j>n) j=1; if (a[i] [j]==0) a[i] [j]=k; else i=i+2; j--; a[i] [j]=k; dw. repaint ( ); catch (NumberFormatException nfe) tf1.setText ( error! ); ex10_3.html <HTML> <HEAD> <TITLE>ex10_3< TITLE> < HEAD> <BODY> <applet code= ex10_3.class width=800 height=400> < applet> < BODY> < HTML>