基于Java图形用户界面编程在自动售票系统中的设计与应用

(整期优先)网络出版时间:2023-03-14
/ 2

基于Java图形用户界面编程在自动售票系统中的设计与应用

金英华 

沈阳师范大学   辽宁沈阳  110034

摘要: 随着现代科技的不断发展,我们的生活变得越来越便利。自动售票系统就是计算机和网络技术的产物,之前售票是靠人工处理的,缺点是速度慢,出错率高,购票不方便。自动售票系统克服了以上的不足,提供了任何时间、任何地点的购票操作,降低了复杂度,提高了购票效率。

关键词:自动售票系统;图形程序;Frame;ActionListener

一、组件的创建与使用

1、下拉列表(Choice)

要产生一个下拉列表,可采用如下方式:

Choice ch1=new Choice();

           ch1.addItem("沈阳");

            ch1.addItem("大连");

            ch1.addItem("长春");

            ch1.addItem("哈尔滨");

2、列表(CheckboxGroup)

  列表是用户可以根据需要进行选择,在创建列表时,将它的各项选择项加入到列表中。

List c=new List(4,false);

        c.add("动车");

        c.add("高铁");

        c.add("特快");

        c.add("普快");

二、事件处理及响应

    面对一个图形用户界面,最关键的是实现和用户的交互,接受用户的输入,执行相应的动作,各类用户动作都存在相应的事件响应。

public void actionPerformed(ActionEvent e)

       {

         ……

}

三、图形用户界面编程的应用

实例使用图形界面实现铁路自动售票系统

行号

choice.java

1

import javax.swing.JOptionPane;

import java.awt.*;

import java.awt.event.*;

public class choice extends Frame implements ActionListener

   {

    Label lb1=new Label("出发地:"),

          lb2=new Label("目的地:"),

          lb3=new Label("车票种类:"),

          lb4=new Label("您选择的是:");

    Choice ch1=new Choice(),

           ch2=new Choice();

    List c=new List(4,false);

    TextField tf=new TextField(30);

    Button bn1=new Button("购买"),

           bn2=new Button("重选"),

           bn3=new Button("退出");

   public choice()

{

   super("铁路自动售票系统");

   setLayout(new GridLayout(2,2,20,20));

   Panel p1,p2;

   p1=new Panel();

   p2=new Panel();

   p2.setSize(500,50);

   ch1.addItem("沈阳");

       ch1.addItem("大连");

       ch1.addItem("长春");

       ch1.addItem("哈尔滨");

       ch2.addItem("北京");

       ch2.addItem("上海");

       ch2.addItem("广州");

       ch2.addItem("杭州");

       c.add("动车");

       c.add("高铁");

       c.add("特快");

       c.add("普快");

   add(p1);

   add(p2);

   p1.add(lb1);

   p1.add(ch1);

   p1.add(lb2);

   p1.add(ch2);

   p1.add(lb3);

   p1.add(c);

   p1.add(lb4);

   p1.add(tf);

   p2.add(bn1);

   p2.add(bn2);

   p2.add(bn3);

   tf.enable(false);

   setSize(500,240);

   setBackground(Color.gray);

   setVisible(true);

   c.addActionListener(this);

   bn1.addActionListener(this);

   bn2.addActionListener(this);

   bn3.addActionListener(this);

   addWindowListener(new WindowAdapter()

   {

    public void windowClosing(WindowEvent e)

    {

  System.exit(0);

    }

     });

}

    public void actionPerformed(ActionEvent e)

{

   if(e.getSource()==c)

      tf.setText(String.valueOf(ch1)+"到"+String.valueOf(ch2)+"的"+String.valueOf(c)+"票");

   if(e.getSource()==bn1)

         JOptionPane.showMessageDialog(null,"正在出票......","购买",JOptionPane.PLAIN_MESSAGE);

      if(e.getSource()==bn2)

         tf.setText(null);;

      if(e.getSource()==bn3)

         dispose();

      System.exit(0);;

}

    class koWindowListener extends WindowAdapter

{

   public void windowClosing(WindowEvent e)

   {  

   dispose();

   System.exit(0);

   }

}

    public static void main(String args[])

{

new choice();

}

}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

程序运行结果,如图1所示。如果选择出发地是:长春,目的地是:上海,单击列表框中“高铁”,文本框中显示内容为:长春到上海的高铁票,如图2所示。单击 “购买”按钮,弹出对话框,如图3所示。

图1

图2

图3

参考文献

[1]李卓玲.Java程序设计实用教程.大连理工大学出版社,2005.

[2] 迟勇.Java语言程序设计.大连理工大学出版社,2013.

[3] 迟勇.Java语言程序设计实验及实训指导.大连理工大学出版社,2013.