JTextField показывает только абсолютное значение и без отрицательного знака?

Я работаю над программой типа "банковский счет", и моя цель - снять и внести деньги, показать обновленный баланс, показать состояние счета (перерасход или нет). Я только что получил добавление / вычитание и обновление баланса, однако числа в моих полях JTextFields являются абсолютными значениями и не показывают отрицательное сальдо (баланс < 0). Есть ли какое-то форматирование, которое мне нужно сделать? Я включил свой код для слушателей кнопки, а также некоторые из Разбор я сделал, чтобы преобразовать парные числа в строки и т. д. Пожалуйста, помогите!

     depositButton.addActionListener(new DepositListener());
     withdrawButton.addActionListener(new WithdrawListener());

    //create object of BankAccount, assign values to the text fields
     BankAccount myAcct = new BankAccount(1524687, 100.00, "Landon Wiggs");
     acctNameF.setText(myAcct.getName() );
     acctNumF.setText(Integer.toString( myAcct.getAcctNumber() ) );
     acctBalanceF.setText( Double.toString(myAcct.getBalance()));
     depositWithdrawAmtF.setText("0.00");


  private class DepositListener implements ActionListener 
{
      public void actionPerformed (ActionEvent event)
      {  
         double sum = Double.valueOf(depositWithdrawAmtF.getText()) + Double.valueOf(acctBalanceF.getText());
         double amt = (Double.parseDouble(depositWithdrawAmtF.getText()));
         acctBalanceF.setText(Double.toString(sum)); 
      }
   }

private class WithdrawListener implements ActionListener {
      public void actionPerformed (ActionEvent event) {
         double sum = (Double.valueOf(depositWithdrawAmtF.getText() )) - (Double.valueOf(acctBalanceF.getText() ));
         double amt = (Double.parseDouble(depositWithdrawAmtF.getText()));

         acctBalanceF.setText(Double.toString(sum));   
      }
   }

1 ответ

Когда вы снимаете деньги, вам, вероятно, следует вычесть сумму снятия со счета, теперь вы делаете обратное.

+ Изменить

double sum = (Double.valueOf(depositWithdrawAmtF.getText() )) - (Double.valueOf(acctBalanceF.getText() ));

в

double sum = Double.valueOf(acctBalanceF.getText()) - Double.valueOf(depositWithdrawAmtF.getText());
Другие вопросы по тегам