JavaFX FXML Controller类在主类中访问函数?

时间:2012-12-30 20:45:28

标签: java controller javafx-2 javafx fxml

我正在使用JavaFX创建一个登录应用程序,当用户单击按钮时切换到新场景。在控制器类中,如何在主应用程序中访问我的ReplaceSceneContent()函数?这是我到目前为止的代码,它给出了一条错误消息:

public class MainScreenController implements Initializable {


private FXMLStephensPetrochko application; 
public void setApp(FXMLStephensPetrochko app){
    this.application = app;
}
@Override
public void initialize(URL url, ResourceBundle rb) {
}
public void Pressed (ActionEvent e){
    try{
        application.replaceSceneContent("LoggedIn.fxml");
    }catch (Exception exc) {
        exc.printStackTrace();
    }
    System.out.println("Button Pressed!");

}
}

1 个答案:

答案 0 :(得分:2)

public void setApp(FXMLStephensPetrochko app){
    this.application = app;
}

此setter方法不会自动注入主应用程序实例。要从控制器类访问main中定义的方法,请参阅示例代码here