Я работаю над проектом для своего класса программирования компьютера и столкнулся с странной ошибкой, которую я не могу исправить. При добавлении новых учетных записей, а затем их удалении, кажется, добавляется больше к переменной count, чем необходимо, и кажется, что она петля внутри метода actionlisteners (), который заставляет его «хранить значения» и создавать больше учетных записей вместо одного , Я провел некоторое тестирование, и ошибка произошла только после того, как вы удалили и добавили учетную запись один раз. Подсчет Значение будет идти от 1 до 3, когда есть только одна область, которую он увеличивает. Как я могу это исправить?Устранение неполадок с подсчетом Java/ошибка
public static void actionlisteners(){
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
sel1 = cb1.getSelectedItem();
sel2 = cb2.getSelectedItem();
if(sel1.toString().equals("-----BankAccounts-----") && !sel2.toString().equals("Add Account")){
l1.setText("Please select an account.");
actionlisteners();
}
if(sel2.toString().equals("Add Account")){
if(count != 20){
count++;
cb1.addItem(t1.getText().toString());
t1.setText("");
System.out.println(count);
}
else{
l1.setText("You can create a maximum of 20 accounts.");
}
}
if(sel2.toString().equals("Delete Account")){
if(count > 0 && !sel1.toString().equals("-----BankAccounts-----")){
count--;
if(!sel1.toString().equals("-----BankAccounts-----")){
cb1.removeItem(sel1.toString());
System.out.println(count);
}
}
if(count == 0){
l1.setText("There are no more accounts to remove!");
}
}
}
});
cb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
sel2 = cb2.getSelectedItem();
if(sel2.toString().equals("Add Account")){
l1.setText("You are adding a new account.");
}
if(sel2.toString().equals("Deposit Money")){
l1.setText("You are depositing money.");
}
if(sel2.toString().equals("Withdraw Money")){
l1.setText("You are withdrawing money.");
}
if(sel2.toString().equals("Delete Account")){
l1.setText("You are deleting an account.");
}
}
});
}
Редактировать: Спасибо за помощь! Не знаю, как я пропустил этот дополнительный вызов actionlisteners();