GUI程序设计在文字编辑处理系统中的应用研究
2019-09-10金英华 耿莹
金英华 耿莹
摘要:Java语言是目前最为流行的程序设计语言之一,GUI(Graphical User Interface)是计算机程序和用户之间的接口。使用可视化方法开发Java GUI程序具有直观、快捷、易学易用等优点。本文设计了使用GUI图形程序实现文本编辑系统,能够批量地修改文字,提高了工作效率。
关键词:文字处理系统;GUI程序设计;JFrame;ActionListener
1、概述
Java环境采用Swing开发工具包,提供的GUI组件,组件包括:窗口、基本组件、布局管理、容器、事件处理、菜单、工具栏、表格等等。使用GUI可以开发可视化界面。
2、GUI的应用
本实例使用GUI程序设计实现文字处理系统。
行号 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置放在容器中,用来标签内容:“输入文本:”、“输入删除文本:”、“删除后的文本:”,JLabel类的对象内容可以改变,但不能用于计算。JTextArea类的3个对象ta1、ta2、ta3是文本区域对象,可以容纳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个文本框对象ta1、ta2、ta3清空(ta1.setText(null);ta2.setText(null);ta3.setText(null);),布局是ctp.setLayout(new GridLayout(4,2,5,5)) ;网格管理器,Java语言中包含以下几种布局管理器:(1)FlowLayout布局管理器,流式布局管理器是将组件一行一行地依次放置其中,一行放置满了再放置下一行;(2)GridLayout布局管理器,网格式布局管理器是将容器空间划分成若干行乘若干列的网格,组件依次放入其中,每个组件占据一格;(3)BorderLayout布局管理器 ,它将窗口版面分为东(East)、西(West)、南(South)、北(North)、中央(Center)共五个区域,采用顺时针方向。哪一个区不配置时,其空间就给其他区用。每个区域只能直接放一个组件,想要放入多个组件,需嵌套一个容器;(4)CardLayout布局管理器,卡片式布局管理器,它将容器中的组件处理为一系列卡片,每一时刻只显示出其中的一张,可以翻至下一张、上一张、第一张、最后一张等。
设计程序要实现如图的运行结果:
参考文献:
[1]李卓玲.Java程序设计实用教程.大连理工大学出版社,2005.
[2] 迟勇.Java语言程序设计.大连理工大学出版社,2013.
[3] 迟勇.Java语言程序设计实验及实训指导.大连理工大学出版社,2013.
作者简介:金英华,(1965.05),女,辽宁盖县,硕士研究生,副教授,研究方向:计算机软件。