gpt4 book ai didi

java - 在 JAVA 中,将值从其他类传递到主类的有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 08:05:25 25 4
gpt4 key购买 nike

我在主课上:

 public void start(Stage primaryStage) throws Exception {

Thread timeCheckThread = new Thread() {
@Override
public void run() {
try{
while (!done) {
System.out.println("Running!!");
System.out.println();
currentDate = LocalDate.now();
if (!oldDate.equals(currentDate)) {
index++;
saveData();
System.out.println("Saved!");
}
currentThread().sleep(5000);
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
};

timeCheckThread.start();

stage = primaryStage;
stage.initStyle(StageStyle.TRANSPARENT);

FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
Parent root = (Parent) loader.load();

StackPane stackPane = new StackPane(root);
stackPane.setStyle("-fx-background-color: rgba(0,0,0,0);");

Scene scene = new Scene(stackPane, 312, 212);
scene.setFill(Color.TRANSPARENT);
stage.setScene(scene);

Controller controller = loader.<Controller>getController();
controller.registerStage(stage);
stage.show();
}

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

在 Controller 类中:

public void exitButtonClicked() {
Platform.exit();
}

我想将一个 boolean 值从方法 exitButtonClicked 传递给主类,这样我就可以结束 while(!done) 的循环。实现这一目标的有效方法是什么?是,在 main 方法中为 done 设置一个 setter,并从 Main 类的实例调用该 setterController类中,有什么好的方法吗?

最佳答案

使用 boolean 值创建最终类或接口(interface)。在任何需要的地方设置/获取这个 boolean 值。

public final class foo {
public static boolean flag = false;
}

在你的 Controller 类中:

foo.flag = true;

在你的主类中:

while(!foo.flag) {
/* Do Something */
}

关于java - 在 JAVA 中,将值从其他类传递到主类的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com