【发布时间】:2014-09-14 17:43:18
【问题描述】:
我正在为我的计算机编程课程做一个项目,但遇到了一个我似乎无法修复的奇怪错误。添加新帐户然后删除它们时,它似乎向变量 count 添加了比需要更多的东西,并且似乎在 actionlisteners() 方法中循环,导致它“存储价值观”并创建更多帐户,而不仅仅是一个帐户。我已经进行了一些测试,并且该错误仅在您删除并添加一次帐户后才会发生。 Counts 值会在仅增加一个区域时从 1 变为 3。我该如何解决这个问题?
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() 的额外调用;
【问题讨论】:
标签: java eclipse debugging user-interface