问题标签 [fxmlloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

javafx-2 - javafx 新“屏幕”在同一选项卡中

我有一段这样的代码:

现在,“在此处插入代码”部分包含指向 youtube 视频的链接列表。这个想法是,当用户单击这些链接之一时,在相同的 AnchorPane 中显示视频并且列表消失。就像列表消失时出现的另一个屏幕(如果可能,有一个很好的过渡),所有这些都在这个 AnchorPane 中,因为我需要呆在那里。

我曾考虑过使用 StackPane 并根据需要使事物可见或不可见,但这似乎......很奇怪。

由于我是 JavaFX 的新手,任何解释为 9 岁儿童的答案将不胜感激

谢谢你们 !

0 投票
1 回答
642 浏览

java - 由 FXMLLoader 初始化时如何覆盖控件的方法?

我们在场景构建器的帮助下创建了几个 JavaFX 视图。它们的组件通过 注入到控制器类中FXMLLoader,例如TreeTableView. 现在我想覆盖 的特定方法TreeTableView,但由于它是由 初始化的FXMLLoader,我不知道如何处理这个问题。

有什么方法可以覆盖TreeTableViewFXMLLoader 注入的方法,而无需创建新控件并将其导入到 scenebuilder 中?

0 投票
1 回答
2611 浏览

java - JavaFX main fxml not loading fxml

My app has tabbed panes, so in order to keep the fxml files manageable, I have a main fxml file that contains the tabs, and a separate fxml for each of the other tabs. This was working fine, but for some reason, the app has stopped loading the second tab. I tried loading it solo in the main app, that works fine. I tried creating a new fxml file as a test, and loading it, that also works. But, it won't load it into the second tab. Also, there is no output to the console.

EDIT: After more trials, I've narrowed it down to the split pane. I tried a very simple fxml with a button, which was fine, but add a split pane and two buttons, and the view doesn't render.

Here is my main class: public class Main extends Application {

Here is my mainview.fxml

Here is the first pane

And the second:

Sorry about the long code, and thanks in advance for the help!

0 投票
0 回答
490 浏览

model-view-controller - FXMLLoader 解释

我正在使用结合 FXML 的 javafx。我想应用 MVC 模式。为此,我希望我的 Model.java 类成为模型,它启动 View.fxml,并且该视图的控制器将是 viewController.java。

我需要带上 Model.java 和 Controller.java 在某个时候进行通信。所以假设 ViewController.java 看起来是这样的:

ViewController 有一个私有字符串和它自己的方法。

和 Model.java :

如何访问 ViewContoller 参数/方法(例如 getPamareter() )?我尝试使用 loader.getController() 获取控制器,但它返回一个泛型类型,如果它与它有关,我应该如何处理它?我去了 oracle 文档,但我不太确定,getController() 是否返回我的 ViewController.java 的实例?

如何从 ViewController 访问模型?例如一个按钮被触发,vieController 将更新 Model.java 中的一个值。

0 投票
1 回答
2329 浏览

css - fxml中的旋转图像动画

我有一个自定义图像,我只需要在加载相应页面而不是默认的不确定进度指示器符号时旋转图像。我们是否有任何 css 代码来连续旋转图像。请指导我。

0 投票
1 回答
250 浏览

javafx - 从 pastebin 加载 FXML

我正在开发一个需要从此 URL 加载 fxml 源的 JavaFX 程序:http://pastebin.com/raw.php?i=SW5d5ucs

我已经尝试了一些东西,但似乎无法弄清楚,如果有人可以帮助我,那就太好了。

0 投票
1 回答
1768 浏览

java - FXMLLoader 获取控制器返回 null

我在这里需要一个递归的 FXML 加载案例。

如果我选择查看一个目标,它会将我带到另一个加载策略对象列表的屏幕实例。如果我选择查看策略,它会将我带到另一个加载战术对象列表的屏幕实例。如果我查看 Tactic,它会将我带到另一个加载 Task 对象列表的屏幕实例。

我的 UI 的图片

自然地,我决定使用基控制器类 ViewChildItemController 来处理继承。然后我从它扩展了 ViewObjective、ViewStrategy 和 ViewTactic。(ViewTask 没有意义,因为 Task 是没有子项的最低级别的项目)。

问题是,当我使用 loader.loadController() 时,该方法返回 null。

会不会是正在加载的基本 FXML 挂接到 ViewChildItemController?我是否必须创建 FXML 的多个副本并将控制器分别连接到每个 ViewObjectiveController、ViewStrategyController 等?这样做没有多大意义。

我可以尝试 loader.setController(),但我不确定是否会再次映射 @FXML 属性。

0 投票
1 回答
2848 浏览

javafx - 外部 jar FXML 加载异常

我尝试使用类加载器加载位于外部 jar 中的类。“FXMLbase”类加载正常,但是当 FXMLdocument.fxml 尝试实例化 FXMLDocumentController 时会触发错误。但是,当通过 JavaFXApplication5.java(位于外部 jar 中)实例化“FXMLbase”时,它可以正常工作。有任何想法吗?

类加载器

FXMLbase.java -- 外部 jar --

FXMLdocument.fxml -- 外部 jar --

FXMLDocumentController.java -- 外部 jar --

JavaFxApplication5.java -- 外部 jar --

错误:

0 投票
1 回答
540 浏览

javafx - FXML 样板代码

有没有办法解决典型的样板代码来实例化和加载 FXML?

一个典型的版本:

请注意上面的代码,支持 FXML 文件具有<Stage></Stage>root 身份。这只是我的偏好。加载和匹配到 FXML 根可以相应地调整。在任何情况下,加载 FXML 文件和获取对控制器的引用是关键部分(在大多数情况下)。

我试图创建一种实用方法,如下所示,以帮助防止出现此样板代码:

但是,在某些阶段出现空指针错误,或者加载不正确。我相信这与泛型和/或铸造有关。

如何改进此代码?或者也许可以建议另一种类型代码来解决这个问题?

0 投票
2 回答
785 浏览

java - 从启动类的子包中加载 Java FXML

也许这一定是一件非常简单的事情,但到目前为止,没有一个解决方案对我有用。所以最后的问题,也许是我没有考虑到的问题。

我想从 Netbeans 项目的 start 类的子包中加载 FXML 及其控制器。已经尝试了这里提到的许多不同问题的所有解决方案,但仍然没有奏效。

包结构:

下面是启动方法:

任何建议,都会有很大帮助。