我不太清楚为什么我的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);
}
}
答案 0 :(得分:2)
初始化应用程序时,count-variable永远不会达到10。
您必须将if语句放入setOnAction-Event。
button.setOnAction(e -> {
count++;
System.out.println(count);
if(count == 10){
System.out.println("test");
}
});