我有一个javafx应用程序,我有一个主要设置我的舞台并启动应用程序。我也有一个控制器类:
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();
}
}
那会有用。然而,这对我来说并不理想。我想知道是否可以直接从控制器类运行该方法,如果没有更好的方法来处理它?感谢
答案 0 :(得分:9)
加载FXML时会自动调用initialize()
方法:
public class Controller
{
@FXML Button button;
public void initialize(){
button.setText("Button");
}
}
请注意,Main
课程中的代码根本不起作用。首先,launch()
在您退出应用程序之前不会退出,其次,您在控制器的新实例上调用它,而不是连接到从FXML文件加载的UI的实例。