0

GUI を使用して ATM マシンをシミュレートするプログラムがあります。私はプログラミングの経験が 1 週間しかなかったので、多くのエラーが発生することはわかっていました。これが私の問題の始まりです。

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class WithdrawClass implements ActionListener
{
private JTextField AmountField;
private JFrame WithdrawFrame;
private int AmountWithdrawn = 0;
private String NOW;

public void WithdrawClass()
{
    WithdrawFrame = new JFrame("Withdraw");

    JPanel TextPanel = new JPanel();
    JPanel BTPanel   = new JPanel();
    JPanel UniterPanel = new JPanel();

    JLabel Texts = new JLabel("Please Enter Desired Amount: ");

    AmountField = new JTextField(20);

    JButton SubmitBT = new JButton("Enter");
    SubmitBT.addActionListener(this);

    TextPanel.add(Texts);
    TextPanel.add(AmountField);
    BTPanel.add(SubmitBT);
    UniterPanel.setLayout(new GridLayout(2,1));
    UniterPanel.add(TextPanel);
    UniterPanel.add(BTPanel);

    WithdrawFrame.setContentPane(UniterPanel);
    WithdrawFrame.setSize(360,180);
    WithdrawFrame.pack();
    WithdrawFrame.show();
    WithdrawFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    WithdrawFrame.setResizable(false);

    NOW = AmountField.getText();
    AmountWithdrawn = Integer.parseInt(NOW);
}

public void actionPerformed(ActionEvent e)
{        
    if(e.getActionCommand().equals("Enter"))
    {
        WithdrawFrame.hide();
        WithdrawCore Goer = new WithdrawCore();
        Goer.WithdrawCore(AmountWithdrawn);
    }
}
}

全体をコンパイルしようとすると構文エラーは発生しませんが、実行しようとすると例外が発生しました。周りに空文字列エラーがあるとのことでした

AmountWithdrawn = Integer.parseInt(NOW);

そして、私はこの問題の解決策を見つけることができないようです. 私は主に JFormattedTextField を試しましたが、うまくいきませんでした。誰かが私に解決策を提供できれば、本当に感謝しています。

編集

もう空の文字列ではありませんでした。NumberFormatException でした。まだ同じコード行です。

4

1 に答える 1

0
try{
   AmountWithdrawn = Integer.parseInt(NOW);
}catch(Exception ex){
   //show a message that the input is wrong
}

これで問題は解決します

于 2013-10-20T17:13:36.887 に答える