JavaFx 怎么从一个窗口打开另一个新窗口

问题描述

如题我知道可以new一个Stage,然后show就行了。问题是我遇到了一个超神奇的问题我的程序是先是一个登陆框,登陆后跳转loading画面,最后进入主程序登录框我在登陆按钮上设监听器,然后执行new一个Stage的任务,loading窗口上没有任何交互按钮,所以我指定设个Initializable的控制器,在initialize里开个线程,异步newstage。当然newstage是在子线程中调用回调函数,在主线程完成的(很绕吧)以上我在java8都工作得很好,但不幸的是我更新到java8u20后,登录框转loading仍旧没问题,loading转主程序窗口就不行了。单步调试我发现一个惊人的事实,FXMLLoader.load(,,,)后竟然不返回了,所以我的stage自然也没机会show了。这真他妈的不可思议啊~publicvoidinitialize(URLarg0,ResourceBundlearg1){//TODOAuto-generatedmethodstubTask<Boolean>worker=newTask<Boolean>(){@OverrideprotectedBooleancall()throwsException{//TODOAuto-generatedmethodstub//loading窗口中真正的操作...ConcurrentUtils.runAndWait(()->{Stagestage=newStage();Parentroot=null;try{root=FXMLLoader.load(getClass().getResource("/main.fxml"));System.out.println("loaded!");Scenescene=newScene(root);stage.setTitle("OA");stage.setScene(scene);stage.show();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}((Stage)detail.getScene().getWindow()).close();});returntrue;}};newThread(worker).start();}

以上是我LoadingController的initialize方法

解决方案

解决方案二:
莫要沉啊,有木有大牛来回答啊

时间: 2025-01-26 22:59:58

JavaFx 怎么从一个窗口打开另一个新窗口的相关文章

使用window.open自动打开新窗口并且自动关闭新窗口

Html代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author"

使用拼凑URL的方法,实现DotNetNuke在新窗口中打开内容(三)

在前面的文章中,我们介绍了如何通过一系列的"擦边球",使得DotNetNuke可以更加符合我们国人的网页浏览习惯,而这些修改,是不能动到DotNetNuke的核心的,我们总共所做的修改如下: 1.在根目录下增加一个新的Edit.aspx,并且修改其代码,使之所加载的皮肤与Default.aspx页面不同: 2.在Portals/_default/Skins/[当前使用的皮肤目录]下增加一个皮肤,这个皮肤是最简单的,只包括DotNetNuke的几个Pane而已,不包括其他任何的内容: 3

js打开新窗口方法整理

 js打开新窗口的方法有很多,本文大致整理了一些,需要的朋友可以参考下 window.location="aaa.aspx"    上面的方法只能在当前页打开,如果要在新的页面打开,最简单的是用以下方法    form.target="_blank";  form.action="aaa.aspx";  form.submit();    window.top.location=url 可以在iframe中的页面在父窗口刷新打开    windo

如何总是在新窗口中打开文件夹?

  在苹果系统里,默认设定是双击一个文件夹后,它将在同一窗口内把此文件夹打开,我们将不能看到原窗口的内容,除非你点击后退按钮. 这有时候是不是有些不爽呢???-如果各位和我一样,希望双击一个文件夹后,能直接在一个新窗口中展示该文件夹那该多好啊,这样原窗口的内容和新窗口的内容可以同时查看到. 我们该如何来操作呢? 1.打开 Finder ,选择 "偏好设置" 2.直接启用 "总是在新窗口中打开文件夹

在新窗口打开超链接的方法小结_javascript技巧

一 让整个网页页面内的链接都在新窗口打开:在head中加入 <base target="_blank"> 二 让一个DIV里所有链接在新窗口打开: 在body中加入 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!- var anchors = document.getElementById("DIV名").getElementsByTagName("a")

js打开新窗口方法整理_javascript技巧

window.location="aaa.aspx" 上面的方法只能在当前页打开,如果要在新的页面打开,最简单的是用以下方法 form.target="_blank"; form.action="aaa.aspx"; form.submit(); window.top.location=url 可以在iframe中的页面在父窗口刷新打开 window.open方法可控制的样式丰富,比如我们可以控制窗口显示的大小,窗口显示的内容,以及位置等等.都是

在IE8模态窗口打开的CKEditor编辑器页面样式不能选择问题

问题描述 在IE8中,模态窗口打开的一个有CKEditor编辑器的页面,在编辑器中的样式.大小等下拉框选择时,下拉框能展开,但立马就闪掉,导致不能选择.在一般窗口是正常的.有遇到这个问题的朋友如何解决.请赐教!谢谢!在IE10中这个没有问题. 解决方案 解决方案二:先自己顶下下下

swt新窗口打开后响应慢

问题描述 addPro.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e){ final Shell child=newShell(cmp.getDisplay(),SWT.MIN); System.out.println("打开子窗口"); child.setText("添加计划"); child.setLayout(new GridL

从零开始学_JavaScript_系列(13)——CSS&amp;lt;2&amp;gt;(新窗口打开,背景图片填充,底文字,小提示,CSS选择器整理)

前注:图片和部分内容引用的网易云课堂的,所以,侵,私信,删. 这篇也算上周的 (10)打开一个网页时,以新窗口形式打开 将 <a href="www.baidu.com"></a> 新增属性: <a href="www.baidu.com" target="_blank"></a> 即可.       (11)关于块间的莫名空隙 假设有html代码: <div id="a"