因此,我有一个从BorderPane
扩展而来的常规组件,我想将其添加到一些FXML代码中。我得到java.lang.IllegalArgumentException:无法将SettingsTab强制到类javafx.scene.Node。
SettingsTab
extendsBorderPane
:
public class SettingsTab extends BorderPane { ...
我试图把它包括成这样:
<Tab fx:id="settingsTab" text="%ui.gui.settings.title" content="SettingsTab"/>
FXML代码和类位于同一个包/目录中。
我可以像这样包括FXML文件,但我想包括一个类文件:
<Tab fx:id="scheduleTab" text="%ui.gui.schedule.title">
<fx:include source="ScheduleTab.fxml"/>
</Tab>
选项卡需要这样的内容标记,而不是作为属性值。
<TabPane>
<Tab fx:id="settingsTab" text="%ui.gui.settings.title">
<content>
<BorderPane></BorderPane>
</content>
</Tab>
</TabPane>
在你的情况下:
<TabPane>
<Tab fx:id="settingsTab" text="%ui.gui.settings.title">
<content>
<SettingsTab></SettingsTab>
</content>
</Tab>
</TabPane>
您需要在fxml中导入自定义组件:
<?import my.custom.package.SettingsTab ?>
我在相应的控制器中有一个用FXML创建的窗口,我有一个按钮,当单击特定的按钮时,它会加载一个小框。这个盒子也是使用FXML设计的。 当我加载盒子并想把它添加到窗口中时,我得到这个错误: 这是我的代码: 主窗口FXML: 我要动态创建的框的FXML:
我正在尝试构建一个在JavaFX中实现群聊的聊天应用程序。我想在边框窗格内创建一个滚动窗格,该窗格将包含用户所属的所有组。当用户加入时,需要将组图标(ImageViews)动态添加(在场景生成器中无法完成)到滚动窗格(在HBox内)。 目前,我正在使用一个SceneController类,该类负责所有阶段和场景更改。 我已经创建了一个FXML文件(使用场景生成器),其中包含一个边框窗格和一个滚动窗
我已经用FXML创建了一个布局,它由一个带有sideMenu的BorderPane和一个用于其他内容的innerBorderPane组成... 但是,由于我刚刚开始使用JavaFX中的FXML,所以我只需要知道如何做下一件事... custom.FXML(这是主要的FXML布局) sideMenu.FXML(这是sideMenu FXML布局) java(这是sideMenu JavaFX控制器)
由于某种原因,我无法将FXML文件中定义的节点加载到实例变量中。我制作了这两个测试文件: 和都被打印为而它们本应被注入FXML文件中定义的节点,有人知道这里出了什么问题吗?当我在Scene Builder中编辑FXML文件时,controller类和字段都被找到并识别,所以应该不会有任何问题。
我试图在JavaFX中创建一个工具栏来使用FXML添加按钮,如下所示: 下面是相应的java类: 当我运行这个项目时,我得到了这个异常: 提前谢谢。