金英华 周园园
摘 要:随着计算机的走进现代生活的每一个角落,使用计算机已不是只单纯地面向计算机专业人员,而是已经普及到全社会的各行各业以及平常人们的生活。为了方便非计算机专业人员操作计算机,美国微软公司研发一套Microsoft Windows操作系统,产生了图形界面应用程序,它用图形界面代替了命令界面。图形用户界面是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。
关键词:体检系统;Java图形程序;JFrame;ActionListener
1、概述
Java為我们提供了几个常用的布局管理器类,例如:FlowLayout、BorderLayout、GridLayout、GridBagLayout等。
(1)FlowLayout布局管理器,流式布局管理器是将容器中的组件按照加入的先后次序由左至右依次地放置其中,一行放置满了之后就到下一行继续由左至右依次地排列。优点是组件放置方便简单,缺点是容器中组件增多时会出现高低参差不齐。
(2)GridLayout布局管理器,网格式布局管理器是把容器空间划分成若干行乘若干列的网格,组件位于这些划分出来的网格之中。优点是定位准确,组件放置位置容易控制。
(3)BorderLayout布局管理器 ,它将容器区域分为东(East)、西(West)、南(South)、北(North)、中央(Center)共5个区域,每加一个组件要指明放置在哪个区域。
(4)CardLayout布局管理器,卡片式布局管理器是容器中的组件共享一个显示空间,虽然可以同时容纳多个组件,但是只能显示其中的一张,可以翻至第一张、最后一张、上一张、下一张。
2、图形程序的应用
本实例使用图形程序实现体检系统。
行号 Tijianxitong.java
1 import javax.swing.*;
2 import java.awt.*;
3 import java.awt.event.*;
4 public class Tijianxitong extends JFrame implements ActionListener
5 {
6 Container ctp=getContentPane();
7 ImageIcon icon1=new ImageIcon("aiyan.jpg");
8 JLabel lb1=new JLabel("左眼视力:"),
9 lb2=new JLabel("右眼视力:"),
10 lb3=new JLabel("结果:"),
11 lb4= new JLabel(icon1);
12 JTextField tf1=new JTextField(10),
13 tf2=new JTextField(10),
14 tf3=new JTextField(10);
15 JButton bt1=new JButton("确定"),
16 bt2=new JButton("取消");
17 Tijianxitong()
18 {
19 setTitle("视力测试");
20 ctp.setLayout(new GridLayout(2,1,2,2));
21 Panel p1=new Panel();
22 p1.setLayout(new GridLayout());
23 p1.add(lb4);
24 Panel p2=new Panel();
25 p2.setLayout(new GridLayout(4,2,5,5));
26 ctp.add(p1);
27 ctp.add(p2);
28 p2.add(lb1);
29 p2.add(tf1);
30 p2.add(lb2);
31 p2.add(tf2);
32 p2.add(lb3);
33 p2.add(tf3);
34 tf3.setEditable(false);
35 p2.add(bt1);
36 p2.add(bt2);
37 bt1.addActionListener(this);
38 bt2.addActionListener(this);
39 addWindowListener(new WindowAdapter()
40 {
41 public void windowClosing(WindowEvent e)
42 {
43 System.exit(0);
44 }
45 });
46 pack();
47 show();
48 }
49 public void actionPerformed(ActionEvent e)
50 {
51 if(e.getSource()==bt1)
52 {
53 if((Double.parseDouble(tf1.getText())>1.0)&&(Double.parseDouble(tf2.getText())>1.0))
54 tf3.setText("很好");
55 else
56 if((Double.parseDouble(tf1.getText())<0.7)&&(Double.parseDouble(tf2.getText())<0.7))
57 tf3.setText("较差");
58 else
59 tf3.setText("正常");
60 }
61 if(e.getSource()==bt2)
62 {
63 System.exit(0);
64 }
65 }
66 public static void main(String argsp[])
67 {
68 new Tijianxitong();
69 }
70 }
程序中分别定义了JLabel类、JTextField类、JButton类的对象。Label类的4个对象lb1、lb2、lb3、lb4置放在容器中,用来标签内容:“左眼视力:”、“右眼视力:”、“结果:”及放置圖片JLabel类的对象内容可以改变,但不能用于计算。JTextArea类的3个对象tf1、tf2、tf3是文本框对象,可以容纳10个字符。JButton类的2个对象JButton bt1、bt2。bt1接听ActionEvent事件,单击“确定”按钮时可以判断视力是否正常并将结果显示在对象ta3中(if((Double.parseDouble(tf1.getText())>1.0)&&(Double.parseDouble(tf2.getText())>1.0)) tf3.setText("很好");
else if((Double.parseDouble(tf1.getText())<0.7)&&(Double.parseDouble(tf2.getText())<0.7))
tf3.setText("较差");
else
tf3.setText("正常");),单击“取消”按钮时, 窗口关闭(System.exit(0););。
程序运行结果,如图所示。
参考文献
[1]李卓玲.Java程序设计实用教程.大连理工大学出版社,2005.
[2] 迟勇.Java语言程序设计.大连理工大学出版社,2013.
[3] 迟勇.Java语言程序设计实验及实训指导.大连理工大学出版社,2013
作者简介:金英华,(1965.05),女,辽宁盖县,硕士研究生,副教授,研究方向:计算机软件。