gpt4 book ai didi

java - 从另一个类运行 Controller 方法

转载 作者:行者123 更新时间:2023-12-01 06:22:07 25 4
gpt4 key购买 nike

我在 Controller 类中有以下方法:

public void popup() {
popupPane.setVisible(true);
}

如果我从另一个类调用此方法,那么我会收到一个空错误,我假设是因为我正在创建一个没有我的 Pane 的新 Controller 实例,或者一个没有我的 Controller 的新弹出窗口实例。无论如何,有什么办法可以做到这一点吗?我开始认为这在 Java 中不存在技术可能性。

TLDR:使用 Controller 外部的类使 Pane 可见 - 可能吗?

最佳答案

执行此操作的一个简单方法是获取 javafx 创建的 Controller 的实例。您可以通过将 Controller 实例存储为 Controller 构造函数中的静态变量,然后通过该静态变量访问 Controller 方法来实现此目的。

所以让你的 Controller 类像这样:

     public class MyController {
//this variable holds an instance of the class
public static MyController mInstance;

public MyController(){
//in the controller set the mInstance variable to the current instance
mInstance = this;
}
}

现在,在您想要访问方法的另一个类中,在 mInstance 变量上调用它,如下所示 MyController.mInstance.someMethod(); 这将确保该方法在 javafx 创建的 Controller 实例上调用。

请注意,在访问之前应检查以确保 mInstance 变量不为 null。

关于java - 从另一个类运行 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641933/

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