java - 将常规 JavaFX 节点添加到 FXML

标签 java javafx fxml

所以我有一个从 BorderPane 扩展的常规组件,我想将它添加到一些 FXML 代码中。我得到了 java.lang.IllegalArgumentException: Unable to coerce SettingsTab to class javafx.scene.Node. SettingsTab extends BorderPane:

public class SettingsTab extends BorderPane { ...

我试图像这样包含它:

<Tab fx:id="settingsTab" text="%ui.gui.settings.title" content="SettingsTab"/>

FXML 代码和类在同一个包/目录中。

我对 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 ?>

关于java - 将常规 JavaFX 节点添加到 FXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237676/

相关文章:

java - 加载 FXML 文件期间未找到文件异常

java - 使用 WM_COPYDATA 在使用 JNI 的 Java 应用程序之间发送字符串消息

java - 我如何在 Windows plaf 中接收组合框箭头图标

java - 是否可以为多个列创建一个索引? hibernate

JavaFX TextArea.append() 导致 java.lang.NullPointerException

Javafx Media 类无法正常工作,没有任何错误

Javafx AreaChart效率低——如何让滚动更流畅?

javafx - 如何在 Javafx 中对齐对话框 Pane 的确定按钮?

javafx fxml程序错误(无主方法)

Javafx 从 jar 加载图像