Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java-为什么我的;“存款”;方法不适用于带有gui的ATM?_Java_User Interface - Fatal编程技术网

java-为什么我的;“存款”;方法不适用于带有gui的ATM?

java-为什么我的;“存款”;方法不适用于带有gui的ATM?,java,user-interface,Java,User Interface,我正在制作一个ATM机,用户必须首先输入他们的pin(1234),然后一旦pin输入正确,用户可以提取50美元、100美元或200美元,或者在1000美元以下存款。我的取款方法都是有效的,但是当我运行我的程序并尝试存款时,在我输入金额并尝试点击“回车”按钮后,什么也没有发生。好像我的“回车”按钮不起作用。以下是我的存款方式使用的代码: if (event.getSource() == deposit) { instructionScreen.setText("Enter the amo

我正在制作一个ATM机,用户必须首先输入他们的pin(1234),然后一旦pin输入正确,用户可以提取50美元、100美元或200美元,或者在1000美元以下存款。我的取款方法都是有效的,但是当我运行我的程序并尝试存款时,在我输入金额并尝试点击“回车”按钮后,什么也没有发生。好像我的“回车”按钮不起作用。以下是我的存款方式使用的代码:

 if (event.getSource() == deposit) {
    instructionScreen.setText("Enter the amount you would like to deposit, then click Enter.");

    if (event.getSource() == enter) {
       saveScreen = displayInput.getText();
       double add = Double.parseDouble(saveScreen);
       if (add <= 1000) {
          balance += add;
          instructionScreen.setText("Your new balance is $" + balance + ".");
       }
       else {
          instructionScreen.setText("The maximum amount you can deposit is $1000. Please enter a new amount.");
          displayInput.setText("");
          if (event.getSource() == enter) {
             saveScreen = displayInput.getText();
             add = Double.parseDouble(saveScreen);
          }
       }

       displayInput.setText("");
       System.out.println("A deposit of $" + add + "was made. Your new balance is $" + balance);
    }
 }
if(event.getSource()==存款){
说明屏幕上的.setText(“输入您要存入的金额,然后单击Enter。”);
if(event.getSource()==enter){
saveScreen=displayInput.getText();
double add=double.parseDouble(保存屏幕);

如果(添加如果您的程序是线性控制台程序,那么它会工作得很好,但这不是事件驱动编程的工作方式。如果选择了deposit,您需要更改对象的状态,可能是更改一个布尔字段,然后测试该字段,而不是期望源立即神奇地从deposit更改为enter在enter的动作侦听器中

e、 g

if (event.getSource() == deposit) {
    instructionScreen.setText("Enter the amount you would like to deposit, then click Enter.");
    depositState = true;  // a boolean field
} else if (event.getSource() == enter) {
    if (depositState) {
        depositState = false; // reset it

        saveScreen = displayInput.getText();
        double add = Double.parseDouble(saveScreen);
        // .... etc