当前位置: 首页 > 知识库问答 >
问题:

如何引用primaryStage[重复]

花阳秋
2023-03-14

我使用。fxml-files作为应用程序的视图层。每个fxml都有一个附加到它的控制器

<AnchorPane fx:controller="movielistjavafx.view.MainWindowController">

是否有任何方法将它注入控制器,或者FXML在运行时知道它属于哪个场景和阶段?

我唯一的想法是将primaryStage存储在一些静态上下文中,但这对我来说似乎不是一种方法。

共有1个答案

王豪
2023-03-14

不是FXML,而是FXML(或其控制器)中的节点(控件)在运行时(添加到场景后)知道它们属于哪个场景和阶段。
在Controller类中,

...
@FXML private Label label;
...
// in some method block
Stage stageTheLabelBelongs = (Stage) label.getScene().getWindow();

或者,您可以使用CDI事件来获取主阶段。请看博客条目FXML&JavaFX,由CDI和JBoss焊接提供。

 类似资料:
  • 问题内容: 我将.fxml-Files用于应用程序的视图层。每个fxml都有一个附加的控制器 假设我有一个mainFrame及其控制器。mainFrame.fxml加载在-method中。 现在,您想显示一个附加在舞台/窗口/任何地方的fileChooser。 为此,最好让fxml-controller知道 例如 。 是否可以将其注入到控制器中,或者FXML在运行时是否知道它属于哪个场景和舞台?

  • 我有一个带有start方法的类,用于启动JavaFX的primaryStage。 但是,我有另一个名为change_screen(int n)的函数,它将根据传递给它的数字创建一个新场景,并为该新场景执行primarystage.setscene()和.show()。 如果我的方法是错误的,那么在同一个窗口中改变几个场景的正确方法是什么?

  • 我的df有列'country'和'country code'作为当前索引。如何删除此索引并创建只计算行数的新索引?我会留下它的样子。我想做的就是在国家旁边添加一个新的索引。多谢!

  • 我有两个表,称为和。我正在努力计算每个系可用的教官人数。我会附上数据库表的截图。 我们如何使用SQL查询计算每个部门可用的讲师数量? 而且,在同一个查询中,我想显示所有的部门。

  • 问题内容: 例如,如果我需要递归使用,该如何从内部引用 Lambda? 问题答案: 我误解了你的问题。这是您递归调用lambda表达式的方式: 产生输出21。 我从乔恩·斯凯特(Jon Skeet)借用了该示例,并进行了必要的更改以使其正常运行。

  • 例如,假设我们有: 如果我这样做: 我总是得到0或1,因为它会搜索与值匹配的第一个匹配项。我如何精确地通过索引引用数组中的元素?也就是说,在这种情况下如何获得“0、1、2、3、4”?或者甚至使用多个维度的数组。