如果使用JavaFX时语句不起作用?

时间:2015-11-25 22:17:21

标签: java

我不太清楚为什么我的if语句不起作用。有人可以在使用JavaFX时向我解释这样做的正确方法吗?我只想让if语句在我的计数器达到10时打印一行。

以下是代码:

package test.application;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;


public class TestApplication extends Application {

    private Button button;
    private Stage stage;
    private StackPane layout;
    private Scene scene;
    private int count;

    @Override
    public void start(Stage primaryStage) {

        // Initialize main GUI items
        stage = new Stage();
        button = new Button("Test");
        layout = new StackPane();
        scene = new Scene(layout, 400, 400);
        count = 0;

        // Add button
        layout.getChildren().add(button);

        button.setOnAction(e -> {
            count++;
            System.out.println(count);
        });

        if (count == 10) {
            System.out.println("test");
        }

        primaryStage.setTitle("Swag");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

1 个答案:

答案 0 :(得分:2)

初始化应用程序时,count-variable永远不会达到10。

您必须将if语句放入setOnAction-Event。

button.setOnAction(e -> {
    count++;
    System.out.println(count);
    if(count == 10){
        System.out.println("test");
    }
});