javaFX中切换场景

2024-01-01

当选择 menuItem 时尝试关闭当前场景并打开另一个场景时,我遇到问题。我的主要阶段编码如下:

public void start(Stage primaryStage) throws Exception {
   primaryStage.setTitle("Shop Management");
   Pane myPane = (Pane)FXMLLoader.load(getClass().getResource
("createProduct.fxml"));
   Scene myScene = new Scene(myPane);        
   primaryStage.setScene(myScene);
   primaryStage.show();
}

然后在 createProduct.fxml 中,当 menuItem 为 onclick 时,它将执行以下操作:

public void gotoCreateCategory(ActionEvent event) throws IOException {
    Stage stage = new Stage();
    stage.setTitle("Shop Management");
    Pane myPane = null;
    myPane = FXMLLoader.load(getClass().getResource("createCategory.fxml"));
    Scene scene = new Scene(myPane);
    stage.setScene(scene);
    stage.show();
}

它确实打开了createCategory.fxml。但是,前一个面板(createProduct.fxml)不会关闭。我知道有一个叫做 stage.close() 的东西可以做到这一点,但我不知道在哪里实现它,因为我没有从一开始就从 main 传递场景。我想知道我应该如何解决这个问题。

提前致谢。


您必须对启动方法进行一些更改,例如..

public void start(Stage primaryStage) throws Exception {
   primaryStage.setTitle("Shop Management");

   FXMLLoader myLoader = new FXMLLoader(getClass().getResource("createProduct.fxml"));

   Pane myPane = (Pane)myLoader.load();

   CreateProductController controller = (CreateProductController) myLoader.getController();

   controller.setPrevStage(primaryStage);

   Scene myScene = new Scene(myPane);        
   primaryStage.setScene(myScene);
   primaryStage.show();
}

你的 CreateProductController.java 将是,

public class CreateProductController implements Initializable {

    Stage prevStage;

    public void setPrevStage(Stage stage){
         this.prevStage = stage;
    }

    @Override
    public void initialize(URL location, ResourceBundle resources) {
    }

    public void gotoCreateCategory(ActionEvent event) throws IOException {
       Stage stage = new Stage();
       stage.setTitle("Shop Management");
       Pane myPane = null;
       myPane = FXMLLoader.load(getClass().getResource("createCategory.fxml"));
       Scene scene = new Scene(myPane);
       stage.setScene(scene);

       prevStage.close();

       stage.show();
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javaFX中切换场景 的相关文章

  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • IntelliJ IDEA 创建的 JAR 文件无法运行

    我在 IntelliJ 中编写了一个跨越几个类的程序 当我在 IDE 中测试它时它运行良好 但是 每当我按照教程将项目制作成 jar 可执行文件时 它就不会运行 双击 out 文件夹中的文件时 该文件不会运行 并显示 无法启动 Java J
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • Java直接内存:在自定义类中使用sun.misc.Cleaner

    在 Java 中 NIO 直接缓冲区分配的内存通过以下方式释放 sun misc Cleaner实例 一些比对象终结更有效的特殊幻像引用 这种清洁器机制是否仅针对直接缓冲区子类硬编码在 JVM 中 或者是否也可以在自定义组件中使用清洁器 例
  • org.jdesktop.application 包不存在

    几天以来我一直在构建一个 Java 桌面应用程序 一切都很顺利 但是今天 当我打开Netbeans并编译文件时 出现以下编译错误 Compiling 9 source files to C Documents and Settings Ad
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • 使用转换器时如何引用复合组件内的组件

    我有一个复合组件 主要由 selectManyCheckbox 组件组成 因为它应该以通用方式设计 所以我从调用级别传递 selectItems ajax 处理等
  • SQLAlchemy、Psycopg2 和 Postgresql COPY

    看起来 Psycopg 有一个自定义命令来执行COPY http www postgresql org docs current static sql copy html 使用cursor copy from 的psycopg2 COPY
  • 如何添加推送通知分析

    我正在开发渐进式网络应用程序 我想实现推送通知的分析 如何添加推送通知分析 以便我能够跟踪和记录有多少人点击了通知 以及有多少人在不点击通知的情况下关闭了该通知 我编写了一小段代码来使用 Google Analytics 进行分析 并且效果
  • 如何将php文件调用到div中?

    我正在尝试仅重新加载特定的 div captcha html just as test works well 因为div内容要大得多 所以我尝试了 captcha html doesn t work 如何将 php 文件中的代码调用到 di
  • 比较并查找 R 中的重叠范围

    我有两个表 每个表都包含数字范围 一个表是另一个表的细分 我想在第一个表中创建二进制列 显示它们重叠的范围 例如 df1 start1 end1 1 6 6 8 9 12 13 15 15 19 19 20 df2 start2 end2
  • 通用非静态方法的用例有哪些?

    在类本身不具有泛型的情况下 拥有非静态方法泛型的有效用例是什么 Example public class A
  • 找到数字序列中第一个缺失的数字

    这是我尝试找到这个问题的解决方案的第二天 我有一个数组 datas datas 0 8000 datas 1 8001 datas 2 8003 datas 3 8004 我必须找到从 8000 开始的第一个缺失的数字 在本例中是 8002
  • jqGrid DatePicker 过滤无需按 Enter 键

    我正在构建我的第一个 ASP NET MVC 3 应用程序并使用 jqGrid 我的列之一 风味创建 是一个日期列 我想使用 DatePicker 过滤该列上的网格 当前发生的情况如下 用户单击列标题过滤器框 显示日期选择器 然后用户选择年
  • 默认模型绑定抛出“没有为此对象定义无参数构造函数”

    我有一个表格 我们想在其中为单个客户输入多个交易 表单的视图模型如下所示 public class TradeSpendingEntryViewModel public TradeSpendingEntryViewModel Records
  • 连接到 wcf 管道

    有没有办法检查wcf方法调用 我的意思是任何与 ASP NET 中的 HttpModule 相同的东西 我想在任何方法调用之前执行一个方法 WCF 具有非常可扩展的体系结构 可以拦截和自定义许多 WCF 功能来完成您自己的事情 对于您的情况
  • Windows 上的 node-gyp 安装失败

    节点版本 节点 v 和npm v 节点 v8 11 2 npm v6 0 1 Platform uname a UNIX 或systeminfo findstr B C OS Name C OS Version C System Type
  • ctypes 上的指针以在 Python 3.1 上使用 OpenCV

    我尝试通过 ctypes 在 Python 3 1 上使用 OpenCV 但我不知道如何表示指针 例如 如果我想加载图像并打印她的第一个像素的内容 我将用 C 编写 include
  • PowerShell - 获取被调用应用程序的进程ID

    我需要调用外部应用程序 即 Notepad 然后获取被调用应用程序的进程ID Get Process Notepad 将返回所有记事本进程 我想做类似的事情 objApp c Notepad exe WHILE get process ID
  • 是否可以在一个 UIlabel 中设置不同的字体?

    我有一个像 这是一个好苹果 这样的字符串 显示在我的 UIlabel 上 我想用不同的字体设置 好 这个词 看起来就像 这是一个good apple 看一眼NS属性字符串 https developer apple com library
  • Hyperledger Fabric:错误:无法组装交易:ProposalResponsePayloads 不匹配

    尝试调用链码时解决以下错误的步骤是什么 Error could not assemble transaction ProposalResponsePayloads do not match proposal response version
  • Pyspark 替换 Spark 数据帧列中的字符串

    我想通过替换子字符串对 Spark Dataframe 列执行一些基本的词干提取 最快的方法是什么 在我当前的用例中 我有一个想要标准化的地址列表 例如这个数据框 id address 1 2 foo lane 2 10 bar lane
  • SqlBulkCopy 不起作用

    我有一个DataSet从 Excel 工作表填充 我想使用 SQLBulkCopy 来插入记录Lead Hdr表在哪里LeadId is PK 我在执行以下代码时遇到以下错误 给定的 ColumnMapping 与中的任何列都不匹配 来源或
  • 异步函数声明需要 ';'在 Internet Explorer 中

    我有一个适用于 Chrome 和 Firefox 的异步函数声明 但在 Internet Explorer 中出现以下错误 SCRIPT1004 预期为 文件 javascriptFile js 行 5 第 7 列 这是简化版 这两个函数位
  • 如何在 Sphinx .rst 文件中输出配置值?

    我有以下内容conf py def setup app app add config value base url http localhost 2000 True 如何将其放入我的 rst 文件中 我写了这个 base url my ap
  • javaFX中切换场景

    当选择 menuItem 时尝试关闭当前场景并打开另一个场景时 我遇到问题 我的主要阶段编码如下 public void start Stage primaryStage throws Exception primaryStage setT