else if (e.getSource() == deleteButton) { String car = JOptionPane.showInputDialog(this, "请输入车位号:"); for (int i = 0; i < p.size(); i++) { if (p.get(i).getBed().equals(car)) { p.remove(i); saveToFile(); JOptionPane.showMessageDialog(this, "删除成功!"); return; } }
时间: 2024-02-14 22:21:23 浏览: 23
这是一个Java程序中的事件处理代码,它属于CarManagementSystem类。在这里,通过实现ActionListener接口,并重写其中的actionPerformed方法,实现对四个JButton的事件处理。这里的代码是对删除按钮(deleteButton)的事件处理。当用户点击删除按钮时,会触发该事件处理。在事件处理中,首先通过showInputDialog方法显示一个输入对话框,提示用户输入要删除的车辆的车位号。用户输入车位号后,通过for循环遍历车辆信息列表,查找是否存在该车位号对应的车辆信息。如果存在,则通过remove方法将该车辆信息从车辆信息列表中删除,并调用saveToFile方法,将车辆信息列表保存到文件中。最后,显示一个提示框,告知用户删除成功。如果不存在该车位号对应的车辆信息,则不进行任何操作。通过这种方式,可以实现对车辆信息的删除操作。
相关问题
用Java设计一个医院床位信息管理系统,能够实现病人信息(床位号、姓名、性别、年龄、病类)的增加、删 除、修改、查询以及更新功能。最后,将病人住院信息保存在out.txt。用GUI窗口输出。
好的,我来解答你的问题。首先,设计一个医院床位信息管理系统,需要涉及到以下几个方面:
1. 界面设计:使用Java的GUI库,例如Swing或JavaFX,设计一个用户友好的界面,包括增加、删除、修改和查询病人信息的按钮。
2. 数据存储:使用Java的文件读写功能,将病人住院信息保存在out.txt文件中。
3. 数据结构:使用Java的集合类,例如ArrayList,存储病人信息,并实现相应的增加、删除、修改和查询操作。
下面是一个简单的实现代码:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class HospitalManagementSystem extends JFrame implements ActionListener {
private JLabel bedLabel, nameLabel, genderLabel, ageLabel, diseaseLabel;
private JTextField bedField, nameField, genderField, ageField, diseaseField;
private JButton addButton, deleteButton, updateButton, queryButton;
private ArrayList<Patient> patients = new ArrayList<Patient>();
public HospitalManagementSystem() {
super("医院床位信息管理系统");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bedLabel = new JLabel("床位号:");
nameLabel = new JLabel("姓名:");
genderLabel = new JLabel("性别:");
ageLabel = new JLabel("年龄:");
diseaseLabel = new JLabel("病类:");
bedField = new JTextField(20);
nameField = new JTextField(20);
genderField = new JTextField(20);
ageField = new JTextField(20);
diseaseField = new JTextField(20);
addButton = new JButton("增加");
deleteButton = new JButton("删除");
updateButton = new JButton("修改");
queryButton = new JButton("查询");
addButton.addActionListener(this);
deleteButton.addActionListener(this);
updateButton.addActionListener(this);
queryButton.addActionListener(this);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(6, 2));
panel.add(bedLabel);
panel.add(bedField);
panel.add(nameLabel);
panel.add(nameField);
panel.add(genderLabel);
panel.add(genderField);
panel.add(ageLabel);
panel.add(ageField);
panel.add(diseaseLabel);
panel.add(diseaseField);
panel.add(addButton);
panel.add(deleteButton);
panel.add(updateButton);
panel.add(queryButton);
add(panel);
setVisible(true);
}
public static void main(String[] args) {
new HospitalManagementSystem();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String bed = bedField.getText();
String name = nameField.getText();
String gender = genderField.getText();
String age = ageField.getText();
String disease = diseaseField.getText();
Patient p = new Patient(bed, name, gender, age, disease);
patients.add(p);
saveToFile();
JOptionPane.showMessageDialog(this, "增加成功!");
} else if (e.getSource() == deleteButton) {
String bed = JOptionPane.showInputDialog(this, "请输入床位号:");
for (int i = 0; i < patients.size(); i++) {
if (patients.get(i).getBed().equals(bed)) {
patients.remove(i);
saveToFile();
JOptionPane.showMessageDialog(this, "删除成功!");
return;
}
}
JOptionPane.showMessageDialog(this, "没有找到该病人!");
} else if (e.getSource() == updateButton) {
String bed = JOptionPane.showInputDialog(this, "请输入床位号:");
for (int i = 0; i < patients.size(); i++) {
if (patients.get(i).getBed().equals(bed)) {
String name = JOptionPane.showInputDialog(this, "请输入姓名:");
String gender = JOptionPane.showInputDialog(this, "请输入性别:");
String age = JOptionPane.showInputDialog(this, "请输入年龄:");
String disease = JOptionPane.showInputDialog(this, "请输入病类:");
patients.set(i, new Patient(bed, name, gender, age, disease));
saveToFile();
JOptionPane.showMessageDialog(this, "修改成功!");
return;
}
}
JOptionPane.showMessageDialog(this, "没有找到该病人!");
} else if (e.getSource() == queryButton) {
String bed = JOptionPane.showInputDialog(this, "请输入床位号:");
for (int i = 0; i < patients.size(); i++) {
if (patients.get(i).getBed().equals(bed)) {
JOptionPane.showMessageDialog(this, patients.get(i));
return;
}
}
JOptionPane.showMessageDialog(this, "没有找到该病人!");
}
}
private void saveToFile() {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("out.txt"));
for (Patient p : patients) {
bw.write(p.toString());
bw.newLine();
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Patient {
private String bed;
private String name;
private String gender;
private String age;
private String disease;
public Patient(String bed, String name, String gender, String age, String disease) {
this.bed = bed;
this.name = name;
this.gender = gender;
this.age = age;
this.disease = disease;
}
public String getBed() {
return bed;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public String getAge() {
return age;
}
public String getDisease() {
return disease;
}
public String toString() {
return bed + "," + name + "," + gender + "," + age + "," + disease;
}
}
```
代码中使用了Swing库进行界面设计,并使用了ArrayList存储病人信息。增加、删除、修改和查询操作均可以在GUI窗口中完成,并将病人住院信息保存在out.txt文件中。
java随机数抽奖程序界面设计多用户输入
这里给出一个简单的 Java 随机数抽奖程序的界面设计,包含多个用户输入功能。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Random;
public class LuckyDraw extends JFrame implements ActionListener {
private JButton btnAddUser, btnDeleteUser, btnClearUsers, btnStartDraw;
private JTextArea txtUsers, txtResult;
private ArrayList<String> userList = new ArrayList<>();
public LuckyDraw() {
super("Lucky Draw");
// add user button
btnAddUser = new JButton("Add User");
btnAddUser.addActionListener(this);
// delete user button
btnDeleteUser = new JButton("Delete User");
btnDeleteUser.addActionListener(this);
// clear users button
btnClearUsers = new JButton("Clear Users");
btnClearUsers.addActionListener(this);
// start draw button
btnStartDraw = new JButton("Start Draw");
btnStartDraw.addActionListener(this);
// user list text area
txtUsers = new JTextArea(10, 20);
txtUsers.setEditable(false);
JScrollPane scrollPane1 = new JScrollPane(txtUsers);
// result text area
txtResult = new JTextArea(1, 20);
txtResult.setEditable(false);
JScrollPane scrollPane2 = new JScrollPane(txtResult);
// layout
JPanel btnPanel = new JPanel(new GridLayout(4, 1));
btnPanel.add(btnAddUser);
btnPanel.add(btnDeleteUser);
btnPanel.add(btnClearUsers);
btnPanel.add(btnStartDraw);
JPanel userPanel = new JPanel(new BorderLayout());
userPanel.add(new JLabel("Users:"), BorderLayout.NORTH);
userPanel.add(scrollPane1, BorderLayout.CENTER);
JPanel resultPanel = new JPanel(new BorderLayout());
resultPanel.add(new JLabel("Result:"), BorderLayout.NORTH);
resultPanel.add(scrollPane2, BorderLayout.CENTER);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(userPanel, BorderLayout.WEST);
mainPanel.add(resultPanel, BorderLayout.EAST);
mainPanel.add(btnPanel, BorderLayout.SOUTH);
add(mainPanel);
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new LuckyDraw();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnAddUser) {
String name = JOptionPane.showInputDialog("Enter user name:");
if (name != null && !name.isEmpty()) {
userList.add(name);
updateUsers();
}
} else if (e.getSource() == btnDeleteUser) {
if (userList.size() > 0) {
String name = JOptionPane.showInputDialog("Enter user name to delete:");
if (name != null && !name.isEmpty()) {
userList.remove(name);
updateUsers();
}
}
} else if (e.getSource() == btnClearUsers) {
userList.clear();
updateUsers();
} else if (e.getSource() == btnStartDraw) {
if (userList.size() > 0) {
Random rand = new Random();
int index = rand.nextInt(userList.size());
String winner = userList.get(index);
txtResult.setText(winner + " wins!");
} else {
txtResult.setText("No users!");
}
}
}
private void updateUsers() {
txtUsers.setText("");
for (String user : userList) {
txtUsers.append(user + "\n");
}
}
}
```
这个程序的主要界面包含一个 "Users" 的文本区域,其中会显示当前添加的用户,以及一个 "Result" 的文本区域,用于显示抽奖结果。程序还包含四个按钮,分别是 "Add User"、"Delete User"、"Clear Users" 和 "Start Draw",分别用于添加用户、删除用户、清空用户列表和开始抽奖。用户列表和抽奖结果都是通过 JTextArea 控件实现的,而按钮则通过 JButton 控件实现。程序还包含一个 userList 的 ArrayList,用于保存用户列表。在每次添加、删除和清空用户列表时,都需要更新文本区域的内容,这个操作是通过 updateUsers() 方法实现的。在开始抽奖时,程序会随机选择一个用户作为中奖者,并将其显示在 "Result" 文本区域中。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)