Gui按钮不会单击javaFX

Gui按钮不会单击javaFX,java,button,javafx,Java,Button,Javafx,我的项目是计算器。我提供了0按钮函数,将0注册到TextField,但它不起作用。有些聪明人有解决办法 public void start(Stage primaryStage) throws Exception{ primaryStage.setTitle("This is a caculator"); TextArea result = new TextArea("This is where the result will be"); result.setPrefSize(

我的项目是计算器。我提供了0按钮函数,将0注册到TextField,但它不起作用。有些聪明人有解决办法

public void start(Stage primaryStage) throws Exception{
    primaryStage.setTitle("This is a caculator");

    TextArea result = new TextArea("This is where the result will be"); result.setPrefSize(480,50); result.setLayoutX(10); result.setLayoutY(65);
    TextField textField = new TextField();  textField.setPrefSize(480,50); textField.setLayoutX(10);    textField.setLayoutY(10);

    Button button1 = new Button("1");       button1.setPrefSize(100,50);        button1.setTranslateX(30);      button1.setTranslateY(140);
    Button button2 = new Button("2");       button2.setPrefSize(100,50);        button2.setTranslateX(150);     button2.setTranslateY(140);
    Button button3 = new Button("3");       button3.setPrefSize(100,50);        button3.setTranslateX(270);     button3.setTranslateY(140);
    Button button4 = new Button("4");       button4.setPrefSize(100,50);        button4.setTranslateX(30);      button4.setTranslateY(210);
    Button button5 = new Button("5");       button5.setPrefSize(100,50);        button5.setTranslateX(150);     button5.setTranslateY(210);
    Button button6 = new Button("6");       button6.setPrefSize(100,50);        button6.setTranslateX(270);     button6.setTranslateY(210);
    Button button7 = new Button("7");       button7.setPrefSize(100,50);        button7.setTranslateX(30);      button7.setTranslateY(280);
    Button button8 = new Button("8");       button8.setPrefSize(100,50);        button8.setTranslateX(150);     button8.setTranslateY(280);
    Button button9 = new Button("9");       button9.setPrefSize(100,50);        button9.setTranslateX(270);     button9.setTranslateY(280);
    Button button0 = new Button("0");       button0.setPrefSize(100,50);        button0.setTranslateX(150);     button0.setTranslateY(350);
    Button buttonPlus = new Button("+");    buttonPlus.setPrefSize(100,50);     buttonPlus.setTranslateX(390);  buttonPlus.setTranslateY(210);
    Button buttonMinus = new Button("-");   buttonMinus.setPrefSize(100,50);    buttonMinus.setTranslateX(390); buttonMinus.setTranslateY(280);
    Button buttonMulti = new Button("*");   buttonMulti.setPrefSize(100,50);    buttonMulti.setTranslateX(390); buttonMulti.setTranslateY(350);
    Button buttonDivide = new Button("/");  buttonDivide.setPrefSize(100,50);   buttonDivide.setTranslateX(270);buttonDivide.setTranslateY(350);
    Button buttonClear = new Button("C");   buttonClear.setPrefSize(100,50);    buttonClear.setTranslateX(390); buttonClear.setTranslateY(140);
    Button buttonResult = new Button("=");  buttonResult.setPrefSize(100,50);   buttonResult.setTranslateX(30); buttonResult.setTranslateY(350);
    Button virus = new Button("Install the deadly virus"); virus.setPrefSize(450,50);   virus.setTranslateX(30);virus.setTranslateY(430);

    Pane pane = new Pane(textField,result,button1,button2,button3,buttonClear,button4,button5,button6,buttonPlus,button7,button8,button9,buttonMinus,buttonMulti,buttonDivide,button0,buttonResult,virus);

    button0.setOnAction(event -> textField.setText("0"));

    Scene scene = new Scene(pane,500,500);
    scene.getStylesheets().add("sample/css/Style.css");
    primaryStage.setScene(scene);
    primaryStage.show();
}

好吧,我假设你想要附加它,连接它,将它添加到末尾(所有的意思都一样)


两者都会产生相同的结果,但我更喜欢第一个,更优雅。

好吧,我假设您想要附加它,连接它,将它添加到末尾(所有的意思都一样)


两者的效果相同,但我更喜欢第一个,更优雅。

你必须继续“但它不起作用”。。。据我所见,它完全按照你的要求去做。它对我来说就像预期的那样工作。按
按钮0
文本字段的文本设置为“0”。您的意思是它不会连续添加0吗?例如,您必须执行
textField.setText(textField.getText()+“0”)
您必须展开“但它不工作”。。。据我所见,它完全按照你的要求去做。它对我来说就像预期的那样工作。按
按钮0
文本字段的文本设置为“0”。您的意思是它不会连续添加0吗?例如,您必须执行
textField.setText(textField.getText()+“0”)
button0.setOnAction(e -> button0.appendText("0");
// // // OR // // //
button0.setOnAction(e -> button0.setText(button0.getText() + "0");