沈阳师范大学 辽宁沈阳 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.