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());