如何在JavaFX中使用按钮更新文本?

时间:2019-03-10 15:21:47

标签: java javafx

最近,我一直在学习Java,现在遇到了JavaFX。我的问题是,如何通过单击Text来更新/更改Button?`

public class Main extends Application {

    Scene start;
    int counter = 0;

    @Override
    public void start(Stage primaryStage) throws Exception{

        BorderPane startLayout = new BorderPane();
        Button testButton = new Button("+1");
        testButton.setOnAction(event -> {
            counter++;
            System.out.println("counter: " + counter);
        });
        Text test = new Text("Counter: " + counter);
        test.setFont(Font.font("Consolas", 25));
        test.setFill(Color.CORNFLOWERBLUE);
        startLayout.setTop(test);
        startLayout.setCenter(testButton);
        start = new Scene(startLayout, 1280, 720);

        primaryStage.setTitle("Test");
        primaryStage.setScene(start);
        primaryStage.show();
    }


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

这里发生的是,我在屏幕的左上角看到了Text,在屏幕中间看到了ButtonText显示“ Counter:0”。当我按下Button时,我希望文本显示“ Counter:1”或“ Counter:2” ...取决于我按下Button的次数,但是当我按下时,什么也没有发生,计数器在窗口中停留在0。我究竟做错了什么?或者,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

您是否曾尝试通过test.setText("Counter" + counter);来按下按钮?