1、Java语言程序设计郑莉第九章课后习题答案Java语言程序设计第九章课后习题答案1.编写一个程序,该程序绘制一个59的网络,使用drawLine方法。/NetWork类import ;import ;public class NetWork extends JFrame public NetWork() / 设置窗体大小 this.setSize(130, 130); /设置窗体大小不可改变 this.setResizable(false); / 设置默认关闭方式,关闭窗体的同时结束程序 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2、/ 将窗体显示出来 this.setVisible(true); /横纵格之间都间隔10像素,起点在(20,40) public void paint(Graphics g) /绘制横向线 for(int i=0;i=5;i+) g.drawLine(20, 40+i*10, 110, 40+i*10); /绘制纵向线 for(int i=0;i=9;i+) g.drawLine(20+i*10, 40, 20+i*10, 90); /test9_1类public class test9_1 public static void main(String args) new NetWork();
3、 运行结果:2.编写一个程序,该程序以不同的颜色随机产生三角形,每个三角形用不同的颜色进行填充。/Triangle类import ;import ;import ;import ;public class Triangle extends JFrame Random rnd = new Random(); /这里定义4个三角形 int x=new int43; int y=new int43; int color=new int43; public Triangle() for(int i=0;i4;i+) for(int j=0;j3;j+) colorij=rnd.nextInt(255)
4、; xij=rnd.nextInt(i*100+100); yij=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(i
5、nt i=0;i4;i+) g.setColor(new Color(colori0,colori1,colori2); g.fillPolygon(xi, yi, 3); /test9_2public class test9_2 public static void main(String args) new Triangle(); 运行结果:3.编写一个Applet,该程序请求用户输入圆的半径,然后显示该圆的直径、周长和面积。/test9_3import javax.swing.*;import java.awt.*;import ;import ;public class test9_3
6、 extends JApplet /声明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; /初始化 public void init() try Runnable() public void run()
7、 initComponents(); ); catch (Exception ex) ex.printStackTrace(); private void initComponents() /声明8个组件 jLabel1 = new JLabel(输入圆的半径:, SwingConstants.CENTER); jLabel2 = new JLabel(圆的周长:, SwingConstants.CENTER); jLabel3 = new JLabel(, SwingConstants.CENTER); jLabel4 = new JLabel(圆的面积:, SwingConstants.C
8、ENTER); jLabel5 = new JLabel(, SwingConstants.CENTER); textOfRadius = new JTextField(半径); jButton1 = new JButton(计算); jButton2 = new JButton(退出); /按钮添加监听器 jButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) jButton1ActionPerformed(evt); ); /按钮添加监听器 jButton2.a
9、ddActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) jButton2ActionPerformed(evt); ); /声明定义内容面板,并且设置其布局格式为: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(j
10、Label4); c.add(jLabel5); c.add(jButton1); c.add(jButton2); / 求周长方法 private String Round(double a) double perimeter = a * 2 * 3.14; String s = new String(String.valueOf(perimeter); return s; / 求面积方法 private String Area(double a) double area = a * a * 3.14; String s = new String(String.valueOf(area);
11、return s; /点击“计算”按钮jButton1触发的方法 private void jButton1ActionPerformed(ActionEvent evt) /捕获单文本输入非数字的异常 try String s = textOfRadius.getText();/获得单文本字符 double a = Double.valueOf(s).floatValue();/字符转化为双精度 jLabel3.setText(Round(a);/标签内容为周长 jLabel5.setText(Area(a);/标签内容为面积 catch (NumberFormatException r)
12、/单文本为非数字弹出提示“输入错误”框 JOptionPane.showMessageDialog(this, 请输入数字类型, 输入错误,JOptionPane.WARNING_MESSAGE); textOfRadius.setText(); /点击“退出”按钮jButton2触发的方法 public void jButton2ActionPerformed(ActionEvent evt) System.exit(0); 运行结果:编译text9_3.java产生字节码文件test9_3.class,接下来需要编写一个HTML文件text9_3.html来嵌入text9_3.class,
13、代码如下:将test9_3.html文件和test9_3.class文件放在同一个目录下,在浏览器中打开这个test9_3.html文件,实现的效果如下:4.编写一个Applet,向其输入五个数,然后以条形图(bar graph)的形式来表示这些数。5.编写一个绘制圆形的程序,当鼠标在绘制区域中单击时,该正方形的左上角顶点应准确的跟随鼠标光标移动,重绘该圆形。/MyJFrame类import ;import ;import ;import ;public class MyJFrame extends JFrame implements MouseListener int x=50; int y=50; int radius=50; public MyJFrame() this.setTitle(绘制圆形); this.setSize(200,200); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addMouseListener(this); this.setVisible(true); public void paint(Graphic
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1