可以通过getText()方法扭曲方法的输入吗?

时间:2017-11-22 09:12:02

标签: java jframe gettext

我正在创建一个用户界面,让用户插入一个标识号(变量名称pNo)。我试图从JTextfield读取插入的数字,然后将其传递给另一个应该为用户创建帐户的方法(createCreditAccount())。

问题是方法createCreditAccount()没有像它应该的那样返回一个帐号。即使我确定系统中有匹配的ID号。

有人可以告诉我为什么我没有得到预期的输出。方法createCreditAccount()没有返回它应该的内容。它返回-1,如果没有具有该id的客户端但我创建了那些,这将是正确的。我还从我的主要方法创建客户和帐户,工作正常。例如:

 SubWindowBankContainer.getBank().createCustomer("john", "doe", "7239009");
 int accountID = 
 SubWindowBankContainer.getBank().createCreditAccount("7239009");
 String account = 
 SubWindowBankContainer.getBank().getAccount("7239009", accountID);

上面的这个例子在从main方法调用时完全正常,但不是从actionlistener方法调用。

所以我认为createCreditAccount()没有任何问题,我认为actionPerformed()是错误的。但是什么?

我倾向于getText()正在添加额外的emptyspaces或类似的东西。

    public void actionPerformed(ActionEvent creditAccButtonPressed){
        if (creditAccButtonPressed.getSource()==pNoButton){
            String pNo = pNoTextField.getText(); 
int creditAccountId = SubWindowBankContainer.getBank().createCreditAccount(pNo);

            String Account = SubWindowBankContainer.getBank().getAccount(pNo,creditAccountId);

            }
        }

继承我正在调用的方法

public int createCreditAccount(String pNr) {

    int accountNr = -1;
    int pNoIndex = getIndexForPno(pNr);

    if (pNoIndex > -1) {// Om id-nummret finns ...
        allCustomers.get(pNoIndex).addToAccountsList(new CreditAccount());
        accountNr = Account.getLastAssignedAccountNumber();
        }
    return accountNr;

}

0 个答案:

没有答案