帮我用java生成编写一个图形界面程序,完成简单的火车票购买。需要选择这几个火车站之一:南宁、柳州、玉林、百色、北海。用户需要输入火车票的乘客名字、起点、终点、日期时间。要求起点、终点用组合框实现,在一个日历窗口上选择日期和时刻。当用户输入完毕,用一个弹出窗口显示完整的输入信息。
时间: 2023-07-10 07:19:51 浏览: 80
好的,我可以帮您编写一个使用Java Swing库来实现的简单火车票购买图形界面程序,以下是代码实现:
```java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
public class TrainTicketPurchase extends JFrame implements ActionListener {
private JLabel labelName, labelStart, labelEnd, labelDate;
private JTextField textFieldName;
private JComboBox<String> comboBoxStart, comboBoxEnd;
private JCalendar calendar;
private JButton buttonSubmit;
public TrainTicketPurchase() {
setTitle("火车票购买");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLayout(new GridLayout(5, 2, 10, 10));
setResizable(false);
labelName = new JLabel("乘客姓名:");
add(labelName);
textFieldName = new JTextField();
add(textFieldName);
labelStart = new JLabel("起点:");
add(labelStart);
comboBoxStart = new JComboBox<>(new String[]{"南宁", "柳州", "玉林", "百色", "北海"});
add(comboBoxStart);
labelEnd = new JLabel("终点:");
add(labelEnd);
comboBoxEnd = new JComboBox<>(new String[]{"南宁", "柳州", "玉林", "百色", "北海"});
add(comboBoxEnd);
labelDate = new JLabel("日期时间:");
add(labelDate);
calendar = new JCalendar();
calendar.setTodayButtonVisible(true);
calendar.setWeekOfYearVisible(false);
calendar.setTodayButtonText("今天");
add(calendar);
buttonSubmit = new JButton("提交");
buttonSubmit.addActionListener(this);
add(buttonSubmit);
setVisible(true);
}
public static void main(String[] args) {
new TrainTicketPurchase();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonSubmit) {
String name = textFieldName.getText();
String start = comboBoxStart.getSelectedItem().toString();
String end = comboBoxEnd.getSelectedItem().toString();
Date date = calendar.getDate();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = dateFormat.format(date);
if (name.isEmpty() || start.isEmpty() || end.isEmpty()) {
JOptionPane.showMessageDialog(this, "请输入完整信息!", "错误", JOptionPane.ERROR_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "姓名:" + name + "\n起点:" + start + "\n终点:" + end + "\n日期时间:" + dateTime, "购买信息", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
```
运行程序后,您就可以在图形界面中输入乘客姓名、选择起点和终点、选择日期和时间,然后点击提交按钮,程序会弹出一个弹出窗口,显示完整的输入信息。
希望这个程序能够帮到您,如果您有任何问题或需求,请随时告诉我。
阅读全文