javafx - 在启动 Javafx 时从 Controller 类运行方法

标签 javafx controller

我有一个 javafx 应用程序,我有一个主界面,我可以在其中设置我的舞台并启动该应用程序。我还有一个 Controller 类:

public class Controller
{    
    @FXML Button button;
    public void test(){
        button.setText("Button");
    }
}

我将如何在启动时运行测试方法。我知道我可以在主类中创建一个实例......
public class Main extends Application{
   public void start(Stage primaryStage) throws Exception {
      ...

   public static void main (String[] args){
        launch (Main.class);
        Controller cont = Controller();
        cont.test();
   }
}

那行得通。然而,它对我来说并不理想。我想知道是否可以直接从 Controller 类运行该方法,如果没有,是否有更好的处理方法?谢谢

最佳答案

initialize()加载 FXML 时自动调用方法:

public class Controller
{    
    @FXML Button button;
    public void initialize(){
        button.setText("Button");
    }
}

请注意,您在 Main 中的代码类根本不起作用。一、launch()在您退出应用程序之前不会退出,其次,您是在 Controller 的新实例上调用它,而不是连接到您从 FXML 文件加载的 UI 的实例。

关于javafx - 在启动 Javafx 时从 Controller 类运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305981/

相关文章:

java - JavaFX ControlsFX 对话框中的 Action 按钮 css 样式

java - 使用自己的 FXML 动态加载新选项卡

magento - 扩展 magento 核心 Controller (Checkout/OnepageController)

angularjs - 从 angular.module config 获取数据到相应的 Controller

c# - 如何在 MVC Action 中获取发布的数据?

ruby-on-rails - 我应该使用哪个 Controller 来更新这些模型,如何更新?

node.js - 默认值Nodejs

javafx - 如何确定JavaFX应用程序所需的FXML文件,CSS文件,图像和其他资源的正确路径?

JavaFX CSS : Apply hover effect to Child nodes when Parent node is hovered on

java - 我们能否在 Swing 中开发非常漂亮的 UI,如果不是,还有什么替代方案