Java语言程序设计 第九章课后习题答案
1.编写一个程序,该程序绘制一个5×9的网络,使用drawLine方法。 //NetWork类
import java.awt.Graphics; import javax.swing.JFrame;
public class NetWork extends JFrame{ }
public NetWork(){ }
//横纵格之间都间隔10像素,起点在(20,40) public void paint(Graphics g){ }
//绘制横向线
for(int i=0;i<=5;i++){ }
//绘制纵向线
for(int i=0;i<=9;i++){ }
g.drawLine(20, 40+i*10, 110, 40+i*10);
// 设置窗体大小
this.setSize(130, 130);
//设置窗体大小不可改变
this.setResizable(false);
// 设置默认关闭方式,关闭窗体的同时结束程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 将窗体显示出来
this.setVisible(true);
g.drawLine(20+i*10, 40, 20+i*10, 90);
//test9_1类
public class test9_1 { }
public static void main(String[] args){ }
new NetWork();
运行结果:
2.编写一个程序,该程序以不同的颜色随机产生三角形,每个三角形用不同的颜色进行填充。 //Triangle类
import java.awt.Color; import java.awt.Graphics; import java.util.Random;
import javax.swing.JFrame;
public class Triangle extends JFrame{
Random rnd = new Random(); //这里定义4个三角形
int[][] x=new int[4][3]; int[][] y=new int[4][3]; int[][] color=new int[4][3];
public Triangle(){
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
color[i][j]=rnd.nextInt(255); x[i][j]=rnd.nextInt(i*100+100);
y[i][j]=rnd.nextInt(i*100+100)+50;//加50像素是为了避免顶到
窗体上沿
}
}
//窗体标题
this.setTitle(\随机三角形\); //窗体大小
this.setSize(500,500); //窗体大小不可变
this.setResizable(false);
//关闭窗体的同时结束程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示窗体
}
}
this.setVisible(true);
public void paint(Graphics g){ }
for(int i=0;i<4;i++){ }
g.setColor(new Color(color[i][0],color[i][1],color[i][2])); g.fillPolygon(x[i], y[i], 3);
//test9_2
public class test9_2 { }
public static void main(String[] args){ }
new Triangle();
运行结果: