金英華 周園園
摘 要:隨著計算機(jī)的走進(jìn)現(xiàn)代生活的每一個角落,使用計算機(jī)已不是只單純地面向計算機(jī)專業(yè)人員,而是已經(jīng)普及到全社會的各行各業(yè)以及平常人們的生活。為了方便非計算機(jī)專業(yè)人員操作計算機(jī),美國微軟公司研發(fā)一套Microsoft Windows操作系統(tǒng),產(chǎn)生了圖形界面應(yīng)用程序,它用圖形界面代替了命令界面。圖形用戶界面是用戶與程序交互的窗口,比命令行的界面更加直觀并且更好操作。
關(guān)鍵詞:體檢系統(tǒng);Java圖形程序;JFrame;ActionListener
1、概述
Java為我們提供了幾個常用的布局管理器類,例如:FlowLayout、BorderLayout、GridLayout、GridBagLayout等。
(1)FlowLayout布局管理器,流式布局管理器是將容器中的組件按照加入的先后次序由左至右依次地放置其中,一行放置滿了之后就到下一行繼續(xù)由左至右依次地排列。優(yōu)點是組件放置方便簡單,缺點是容器中組件增多時會出現(xiàn)高低參差不齊。
(2)GridLayout布局管理器,網(wǎng)格式布局管理器是把容器空間劃分成若干行乘若干列的網(wǎng)格,組件位于這些劃分出來的網(wǎng)格之中。優(yōu)點是定位準(zhǔn)確,組件放置位置容易控制。
(3)BorderLayout布局管理器 ,它將容器區(qū)域分為東(East)、西(West)、南(South)、北(North)、中央(Center)共5個區(qū)域,每加一個組件要指明放置在哪個區(qū)域。
(4)CardLayout布局管理器,卡片式布局管理器是容器中的組件共享一個顯示空間,雖然可以同時容納多個組件,但是只能顯示其中的一張,可以翻至第一張、最后一張、上一張、下一張。
2、圖形程序的應(yīng)用
本實例使用圖形程序?qū)崿F(xiàn)體檢系統(tǒng)。
行號 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("結(jié)果:"),
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置放在容器中,用來標(biāo)簽內(nèi)容:“左眼視力:”、“右眼視力:”、“結(jié)果:”及放置圖片JLabel類的對象內(nèi)容可以改變,但不能用于計算。JTextArea類的3個對象tf1、tf2、tf3是文本框?qū)ο?,可以容納10個字符。JButton類的2個對象JButton bt1、bt2。bt1接聽ActionEvent事件,單擊“確定”按鈕時可以判斷視力是否正常并將結(jié)果顯示在對象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("正常");),單擊“取消”按鈕時, 窗口關(guān)閉(System.exit(0););。
程序運(yùn)行結(jié)果,如圖所示。
參考文獻(xiàn)
[1]李卓玲.Java程序設(shè)計實用教程.大連理工大學(xué)出版社,2005.
[2] 遲勇.Java語言程序設(shè)計.大連理工大學(xué)出版社,2013.
[3] 遲勇.Java語言程序設(shè)計實驗及實訓(xùn)指導(dǎo).大連理工大學(xué)出版社,2013
作者簡介:金英華,(1965.05),女,遼寧蓋縣,碩士研究生,副教授,研究方向:計算機(jī)軟件。