arrayList 中的前一个元素
Previous element in arrayList
使用按钮我试图显示数组列表的前一个元素,但它没有显示预期的结果,它只 returns 第一个元素,我想在它们各自的字段中显示的数据形式
public class AutoForm extends javax.swing.JFrame {
ArrayList<Car> carsList;
int counter;
public AutoForm() {
initComponents();
carsList= new ArrayList<Car>();
counter = 0;
}
private void BtnSendActionPerformed(java.awt.event.ActionEvent evt) {
String id = txtId.getText();
String brand = JcomboBrand.getSelectedItem().toString();
int doors = Integer.parseInt(SpinnerDoors.getValue().toString());
Car objCar = new Car();
objCar.setId(id);
objCar.setBrand(brand);
objCar.setDoors(doors);
carsList.add(objCar);
counter++;
JOptionPane.showMessageDialog(this, "The car was added" + counter);
}
private void BtnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i <= carsList.size(); i++) {
Car carTemp = carsList.get(i);
if (counter > 0) {
counter--;
txtId.setText(carTemp.getId());
JcomboBrand.setSelectedItem(carTemp.getBrand());
SpinnerDoors.setValue(carTemp.getDoors());
} else {
JOptionPane.showMessageDialog(this, "There are no records");
}
break;
}
}
}
break;
break 语句导致循环在第一次迭代后终止。你是想把它放在 if-else 块中吗?
尝试以下方法
private void BtnPreviousActionPerformed(ActionEvent evt) {
if (counter > 0) {
counter--;
Car carTemp = carsList.get(counter);
txtId.setText(carTemp.getId());
JcomboBrand.setSelectedItem(carTemp.getBrand());
SpinnerDoors.setValue(carTemp.getDoors());
} else {
JOptionPane.showMessageDialog(this, "There are no records");
}
}
使用按钮我试图显示数组列表的前一个元素,但它没有显示预期的结果,它只 returns 第一个元素,我想在它们各自的字段中显示的数据形式
public class AutoForm extends javax.swing.JFrame {
ArrayList<Car> carsList;
int counter;
public AutoForm() {
initComponents();
carsList= new ArrayList<Car>();
counter = 0;
}
private void BtnSendActionPerformed(java.awt.event.ActionEvent evt) {
String id = txtId.getText();
String brand = JcomboBrand.getSelectedItem().toString();
int doors = Integer.parseInt(SpinnerDoors.getValue().toString());
Car objCar = new Car();
objCar.setId(id);
objCar.setBrand(brand);
objCar.setDoors(doors);
carsList.add(objCar);
counter++;
JOptionPane.showMessageDialog(this, "The car was added" + counter);
}
private void BtnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i <= carsList.size(); i++) {
Car carTemp = carsList.get(i);
if (counter > 0) {
counter--;
txtId.setText(carTemp.getId());
JcomboBrand.setSelectedItem(carTemp.getBrand());
SpinnerDoors.setValue(carTemp.getDoors());
} else {
JOptionPane.showMessageDialog(this, "There are no records");
}
break;
}
}
}
break;
break 语句导致循环在第一次迭代后终止。你是想把它放在 if-else 块中吗?
尝试以下方法
private void BtnPreviousActionPerformed(ActionEvent evt) {
if (counter > 0) {
counter--;
Car carTemp = carsList.get(counter);
txtId.setText(carTemp.getId());
JcomboBrand.setSelectedItem(carTemp.getBrand());
SpinnerDoors.setValue(carTemp.getDoors());
} else {
JOptionPane.showMessageDialog(this, "There are no records");
}
}