簡體   English   中英

JavaFX按鈕偵聽器不起作用

[英]JavaFX button listener not working

我正在創建一個簡單的計算器,該計算器將在文本字段中輸入的兩個值相加,然后在按下按鈕時在第三文本字段中顯示總和。 但是,當我按下按鈕時,什么也沒有發生,而且我無法弄清楚出了什么問題。 我沒有收到任何錯誤消息,程序會編譯按鈕,但似乎什么都沒做。

import javafx.application.*;
import javafx.geometry.*;
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.layout.*;
import javafx.scene.control.*;
import javafx.event.*;


public class Calculator extends Application{

private TextField sumField;
private TextField firstVField;
private TextField secondVField;

public void start(Stage myStage){
    myStage.setTitle("Simple Calculator");

    GridPane rootNode = new GridPane();
    rootNode.setPadding(new Insets(30));
    rootNode.setHgap(5);
    rootNode.setVgap(5);

    Scene myScene = new Scene(rootNode, 350,250);

    Label firstVLabel = new Label("First Value:");
    Label secondVLabel = new Label("Second Value:");
    Label sumLabel = new Label("Sum:");


    TextField firstVField = new TextField();
    TextField secondVField = new TextField();
    TextField sumField = new TextField();


    sumField.setEditable(false);

    Button calculate = new Button("Calculate");

    rootNode.add(firstVLabel, 0, 0);
    rootNode.add(firstVField, 1, 0);
    rootNode.add(secondVLabel, 0, 1);
    rootNode.add(secondVField, 1, 1);
    rootNode.add(sumLabel, 0, 2);
    rootNode.add(sumField, 1, 2);
    rootNode.add(calculate, 1, 3);

    myStage.setScene(myScene);
    myStage.setResizable(false);
    myStage.show();

}

class ButtonHandler implements EventHandler<ActionEvent>{

    public void handle(ActionEvent e) {
        int sum = (int)firstVField.getText() + (int)secondVField.getText();
        sumField.setText(Integer.toString(sum));

    }
}

public static void main( String [] args){
    launch(args);
}

}

您忘記了將ButtonHandler連接到calculate按鈕

calculate.setOnAction(new ButtonHandler());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM