首页 > 解决方案 > 如何在 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在左上角和Button屏幕中间得到 。显示Text“计数器:0”。当我按下时,Button我希望文本显示“计数器:1”或“计数器:2”......取决于我按下的次数,Button但是当我按下它时,没有任何反应,计数器在窗口中保持为 0。我究竟做错了什么?或者,还有其他方法吗?

标签: javajavafx

解决方案


您是否尝试过使用test.setText("Counter" + counter);按钮?


推荐阅读