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