public void actionPerformed(ActionEvent e) { if (e.getSource() == addButton) { String car = carField.getText(); String name = nameField.getText(); String gender = genderField.getText(); String age = ageField.getText(); String S = SField.getText(); P p = new P(car, name, gender, age, S); p.add(p); saveToFile(); JOptionPane.showMessageDialog(this, "增加成功!");
时间: 2024-04-01 14:37:34 浏览: 142
这是一个Java程序中的事件处理代码,它属于CarManagementSystem类。在这里,通过实现ActionListener接口,并重写其中的actionPerformed方法,实现对四个JButton的事件处理。这里的代码是对增加按钮(addButton)的事件处理。当用户点击增加按钮时,会触发该事件处理。在事件处理中,首先通过getText方法获取车辆信息的各个属性(车辆编号、车主姓名、车主性别、车主年龄、车主联系方式)的值,然后创建一个新的P对象,并将这些属性值作为参数传递给它的构造函数。接着,调用P对象的add方法,将新的车辆信息添加到车辆信息列表中。最后,调用saveToFile方法,将车辆信息列表保存到文件中。同时,显示一个提示框,告知用户增加成功。通过这种方式,可以实现对车辆信息的增加操作。
相关问题
public void actionPerformed(ActionEvent e) { if (e.getSource() == addButton) { String car = carField.getText(); String name = nameField.getText(); String gender = genderField.getText(); String age = ageField.getText(); String S = SField.getText();
这是一个Java Swing程序中的事件处理函数,用于处理ActionEvent事件。如果事件源是“添加”按钮(addButton),则从各个文本字段(carField、nameField、genderField、ageField和SField)中获取用户输入的值,并将其保存到相应的变量中。这些变量的具体含义需要根据上下文来确定,但通常它们是用于表示某种数据类型的字符串。在这个事件处理函数中,通常会将这些值传递给其他函数或对象进行处理。
@Override public void actionPerformed(ActionEvent e) {//触发此动作时执行 for (int i = 0; i < 10; i++) { if (e.getSource() == numberButtons[i]) {//返回最初发生 Event 的对象,那个对象被触发,就返回这个对象 textField.setText(textField.getText().concat(String.valueOf(i))); } } if (e.getSource() == decButton) { textField.setText(textField.getText().concat(".")); } if (e.getSource() == addButton) { num1 = Double.parseDouble(textField.getText()); operator = '+'; textField.setText(""); } if (e.getSource() == subButton) { num1 = Double.parseDouble(textField.getText()); operator = '-'; textField.setText(""); } if (e.getSource() == mulButton) { num1 = Double.parseDouble(textField.getText()); operator = '*'; textField.setText(""); } if (e.getSource() == divButton) { num1 = Double.parseDouble(textField.getText()); operator = '/'; textField.setText(""); } if (e.getSource() == equButton) { num2 = Double.parseDouble(textField.getText()); switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } textField.setText(String.valueOf(result)); num1 = result; } if (e.getSource() == clrButton) { textField.setText(""); } if (e.getSource() == delButton) { String string = textField.getText(); textField.setText(""); for (int i = 0; i < string.length() - 1; i++) { textField.setText(textField.getText() + string.charAt(i)); } } } }请注释出每一步在做什么
这段代码实现了一个简单的计算器的基本功能,以下是每一步的注释:
```java
@Override
public void actionPerformed(ActionEvent e) {//触发此动作时执行
// 为数字按钮添加事件,将数字添加到文本框中
for (int i = 0; i < 10; i++) {
if (e.getSource() == numberButtons[i]) {//返回最初发生 Event 的对象,那个对象被触发,就返回这个对象
textField.setText(textField.getText().concat(String.valueOf(i)));
}
}
// 为小数点按钮添加事件,将小数点添加到文本框中
if (e.getSource() == decButton) {
textField.setText(textField.getText().concat("."));
}
// 为加号按钮添加事件,记录第一个数,将文本框清空,记录运算符
if (e.getSource() == addButton) {
num1 = Double.parseDouble(textField.getText());
operator = '+';
textField.setText("");
}
// 为减号按钮添加事件,记录第一个数,将文本框清空,记录运算符
if (e.getSource() == subButton) {
num1 = Double.parseDouble(textField.getText());
operator = '-';
textField.setText("");
}
// 为乘号按钮添加事件,记录第一个数,将文本框清空,记录运算符
if (e.getSource() == mulButton) {
num1 = Double.parseDouble(textField.getText());
operator = '*';
textField.setText("");
}
// 为除号按钮添加事件,记录第一个数,将文本框清空,记录运算符
if (e.getSource() == divButton) {
num1 = Double.parseDouble(textField.getText());
operator = '/';
textField.setText("");
}
// 为等于号按钮添加事件,记录第二个数,根据运算符计算结果并显示在文本框中,将结果记录为第一个数
if (e.getSource() == equButton) {
num2 = Double.parseDouble(textField.getText());
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
textField.setText(String.valueOf(result));
num1 = result;
}
// 为清除按钮添加事件,将文本框清空
if (e.getSource() == clrButton) {
textField.setText("");
}
// 为删除按钮添加事件,删除文本框中最后一个字符
if (e.getSource() == delButton) {
String string = textField.getText();
textField.setText("");
for (int i = 0; i < string.length() - 1; i++) {
textField.setText(textField.getText() + string.charAt(i));
}
}
}
```
阅读全文