word格式
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+i*10, 40, 20+i*10, 90); 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);
//test9_1类
public class test9_1 { }
public static void main(String[] args){ }
new NetWork();
运行结果:
.. ..
word格式
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(){
//窗体标题
this.setTitle(\随机三角形\); //窗体大小
this.setSize(500,500); //窗体大小不可变
this.setResizable(false); //关闭窗体的同时结束程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示窗体
this.setVisible(true);
}
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像素是为了避免顶到窗体上沿
.. ..
word格式
}
}
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();
运行结果:
.. ..
word格式
3.编写一个Applet,该程序请求用户输入圆的半径,然后显示该圆的直径、周长和面积。
//test9_3
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
public class test9_3 extends JApplet {
private void initComponents() {
//声明8个组件
jLabel1 = new JLabel(\输入圆的半径:\, SwingConstants.CENTER); jLabel2 = new JLabel(\圆的周长:\, SwingConstants.CENTER); jLabel3 = new JLabel(\, SwingConstants.CENTER);
jLabel4 = new JLabel(\圆的面积:\, SwingConstants.CENTER); //初始化
public void init() { }
try { }
java.awt.EventQueue.invokeAndWait(new Runnable() { });
ex.printStackTrace();
public void run() { }
initComponents();
//声明5个标签
private JLabel jLabel1; private JLabel jLabel2; private JLabel jLabel3; private JLabel jLabel4; private JLabel jLabel5; //1个单行文本
private JTextField textOfRadius; //2个按钮
private JButton jButton1; private JButton jButton2;
} catch (Exception ex) {
.. ..
word格式
}
jLabel5 = new JLabel(\, SwingConstants.CENTER); textOfRadius = new JTextField(\半径\); jButton1 = new JButton(\计算\); jButton2 = new JButton(\退出\); //按钮添加监听器
jButton1.addActionListener(new ActionListener() { });
//按钮添加监听器
jButton2.addActionListener(new ActionListener() { });
//声明定义内容面板,并且设置其布局格式为:4行2列格子 Container c = getContentPane(); c.setLayout(new GridLayout(4, 2)); //将8个组件加入到内容面板 c.add(jLabel1); c.add(textOfRadius); c.add(jLabel2); c.add(jLabel3); c.add(jLabel4); c.add(jLabel5); c.add(jButton1); c.add(jButton2);
public void actionPerformed(ActionEvent evt) { }
jButton2ActionPerformed(evt);
public void actionPerformed(ActionEvent evt) { }
jButton1ActionPerformed(evt);
// 求周长方法
private String Round(double a) { }
// 求面积方法
private String Area(double a) {
double area = a * a * 3.14; double perimeter = a * 2 * 3.14;
String s = new String(String.valueOf(perimeter)); return s;
.. ..