首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能得到正在运行的舞台呢?Javafx

我怎样才能得到正在运行的舞台呢?Javafx
EN

Stack Overflow用户
提问于 2019-03-21 23:31:12
回答 1查看 44关注 0票数 0

我有一个主类,我在这个类中处理阶段的执行,在这个方法中,showAuto()被称为initialicePage(),用于加载Ventana Auto

public class Principal extends Application {

private ArrayList<Stage> listaScene = new ArrayList<>();

private static Principal principal;

public static Principal getPrincipal() {
if (principal == null) {
    principal = new Principal();
}
return principal;
}

public void createScene() throws IOException, Exception {

//metodo para cada ventana la controladora
Stage primaryStageAutomatico = ControllerAutoExp.initialicePage();
Principal.getPrincipal().getListScene().add(primaryStageAutomatico);

}

@Override
public void start(Stage primaryStage) throws Exception {
System.setProperty("glass.accessible.force", "false");
try {
      createScene();
      ControllerManejarDatos.initialicePage();

} catch (IOException ex) {
    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null,       ex);
    ErrorLogger.recordError(ex);
}
}

public void showAuto(ActionEvent event) {

try {

    boolean find = false;
    int i = 0;        
    while (find == false && i < listaScene.size()) {
        if (listaScene.get(i).getTitle().equals("Ventana Auto")) {
            if (!listaScene.get(i).isShowing()) {
               Stage primaryStageLista =   ControllerAutoExp.initialicePage();                      
               listaScene.add(i, primaryStageLista);
                  listaScene.get(i).initModality(Modality.APPLICATION_MODAL);                     
               listaScene.get(i).show();                       
            } else {
                listaScene.get(i).close();
                listaScene.get(i).initModality(Modality.APPLICATION_MODAL);
                listaScene.get(i).show();
            }
            find = true;
        } else {
            i++;
        }
    }

  } catch (Exception e) {
    try {
        ErrorLogger.recordError(e);
    } catch (IOException ex) {
        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
}

我怎样才能得到从另一个类运行的舞台?我想在ControllerAutoExp类中运行时在舞台上加载一个新的fxml。感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2019-03-26 08:20:29

将舞台定义移动到Principal类的内部和任何方法的外部,并在其前面添加static。然后你就可以使用Principal.primaryStage来调用它了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55283987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档