金英華?耿瑩
摘要:Java語言是目前最為流行的程序設計語言之一,GUI(Graphical User Interface)是計算機程序和用戶之間的接口。使用可視化方法開發(fā)Java GUI程序具有直觀、快捷、易學易用等優(yōu)點。本文設計了使用GUI圖形程序?qū)崿F(xiàn)文本編輯系統(tǒng),能夠批量地修改文字,提高了工作效率。
關鍵詞:文字處理系統(tǒng);GUI程序設計;JFrame;ActionListener
1、概述
Java環(huán)境采用Swing開發(fā)工具包,提供的GUI組件,組件包括:窗口、基本組件、布局管理、容器、事件處理、菜單、工具欄、表格等等。使用GUI可以開發(fā)可視化界面。
2、GUI的應用
本實例使用GUI程序設計實現(xiàn)文字處理系統(tǒng)。
行號 Zuidazhi.java
1 import javax.swing.*;
2 import java.awt.*;
3 import java.awt.event.*;
4 public class Wenbenshanchu extends JFrame implements ActionListener
5 {
6 Container ctp=getContentPane();
7 JLabel lb1=new JLabel(“輸入文本:”,JLabel.CENTER),
8 lb2=new JLabel(“輸入刪除文本:”,JLabel.CENTER),
9 lb3=new JLabel(“刪除后的文本:”,JLabel.CENTER);
10 TextArea ta1=new JTextArea(2,10),
11 ta2=new JTextArea(2,10),
12 ta3=new JTextArea(2,10);
13 JButton bt1=new JButton(“刪除”);
14 JButton bt2=new JButton(“清空”);
15 Wenbenshanchu()
16 {
17 setTitle(“刪除測試”);
18 ctp.setLayout(new GridLayout(4,2,5,5));
19 ctp.add(lb1);
20 ctp.add(ta1);
21 ctp.add(lb2);
22 ctp.add(ta2);
23 ctp.add(lb3);
24 ctp.add(ta3);
25 ctp.add(bt1);
26 ctp.add(bt2);
27 bt1.addActionListener(this);
28 bt2.addActionListener(this);
29 addWindowListener(new WindowAdapter()
30 {
31 public void windowClosing(WindowEvent e)
32 {
33 System.exit(0);
34 }
35 });
36 pack();
37 show();
38 }
39 public void actionPerformed(ActionEvent e)
40 {
41 String str1=ta1.getText();
42 String str2=ta2.getText();
43 int n=str1.indexOf(str2);
44 while (n!=-1)
45 {
46 String str3=str1.substring(0,n);
47 String str4=str1.substring(n+str2.length());
48 str1=str3.concat(str4);
49 n=str1.indexOf(str2);
50 }
51 if(e.getSource()==bt1)
52 {
53 ta3.setText(String.valueOf(str1));
54 }
55 if(e.getSource()==bt2)
56 {
57 ta1.setText(null);
58 ta2.setText(null);
59 ta3.setText(null);
60 }
61 }
62 public static void main(String argsp[])
63 {
64 new Wenbenshanchu();
65 }
66 }
程序中分別定義了JLabel類、JTextArea類、JButton類的對象。Label類的3個對象lb1、lb2、lb3置放在容器中,用來標簽內(nèi)容:“輸入文本:”、“輸入刪除文本:”、“刪除后的文本:”,JLabel類的對象內(nèi)容可以改變,但不能用于計算。JTextArea類的3個對象ta1、ta2、ta3是文本區(qū)域?qū)ο?,可以容納2行10列字符。JButton類的2個對象JButton bt1、bt2。bt1接聽ActionEvent事件,單擊“刪除”按鈕時將編輯后的文本顯示在對象ta3中(String str3=str1.substring(0,n);String str4=str1.substring(n+str2.length());str1=str3.concat(str4); n=str1.indexOf(str2); ta3.setText(String.valueOf(str1));),單擊“清空”按鈕時, 4個文本框?qū)ο髏a1、ta2、ta3清空(ta1.setText(null);ta2.setText(null);ta3.setText(null);),布局是ctp.setLayout(new GridLayout(4,2,5,5)) ;網(wǎng)格管理器,Java語言中包含以下幾種布局管理器:(1)FlowLayout布局管理器,流式布局管理器是將組件一行一行地依次放置其中,一行放置滿了再放置下一行;(2)GridLayout布局管理器,網(wǎng)格式布局管理器是將容器空間劃分成若干行乘若干列的網(wǎng)格,組件依次放入其中,每個組件占據(jù)一格;(3)BorderLayout布局管理器 ,它將窗口版面分為東(East)、西(West)、南(South)、北(North)、中央(Center)共五個區(qū)域,采用順時針方向。哪一個區(qū)不配置時,其空間就給其他區(qū)用。每個區(qū)域只能直接放一個組件,想要放入多個組件,需嵌套一個容器;(4)CardLayout布局管理器,卡片式布局管理器,它將容器中的組件處理為一系列卡片,每一時刻只顯示出其中的一張,可以翻至下一張、上一張、第一張、最后一張等。
設計程序要實現(xiàn)如圖的運行結(jié)果:
參考文獻:
[1]李卓玲.Java程序設計實用教程.大連理工大學出版社,2005.
[2] 遲勇.Java語言程序設計.大連理工大學出版社,2013.
[3] 遲勇.Java語言程序設計實驗及實訓指導.大連理工大學出版社,2013.
作者簡介:金英華,(1965.05),女,遼寧蓋縣,碩士研究生,副教授,研究方向:計算機軟件。