Javafx 2 是否可以在FXML中的JavaFXChoiceBox中添加分隔符?

Javafx 2 是否可以在FXML中的JavaFXChoiceBox中添加分隔符?,javafx-2,fxml,separator,Javafx 2,Fxml,Separator,本文档描述了如何通过代码向JavaFX2选择框添加分隔符: 我希望使用FXML布局实现同样的效果。有什么想法吗 这应该可以。用您自己的内容替换“项目”。另外,请查看FXML参考,以了解有关使用FXML的更多信息 <ChoiceBox> <items> <FXCollections fx:factory="observableArrayList"> <String fx:value="Item 1" /> <

本文档描述了如何通过代码向JavaFX2选择框添加分隔符:


我希望使用FXML布局实现同样的效果。有什么想法吗

这应该可以。用您自己的内容替换“项目”。另外,请查看FXML参考,以了解有关使用FXML的更多信息

<ChoiceBox>
  <items>
    <FXCollections fx:factory="observableArrayList">
      <String fx:value="Item 1" />
      <String fx:value="Item 2" />
      <Separator fx:id="separator"/>
      <String fx:value="Item 3" />
    </FXCollections>
  </items>
</ChoiceBox>

.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.HBox?>
<?import java.lang.*?>

<HBox xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
  <ChoiceBox>
    <String fx:value="Item 1" />
    <String fx:value="Item 2" />
    <Separator />
    <String fx:value="Item 3" />
  </ChoiceBox>
</HBox>

不要忘记导入正确的类。通过导入正确的类路径,您可以包含任何类并尝试显示它,即使是您自己创建的类。只需在SceneBuilder中打开FXML,并使用预览查看它的运行情况,而无需为其构建自定义FXML加载程序


如果没有FXML,这是可能的吗?当然,但这应该是另一个问题,因为这与使用FXML来解决它密切相关。事实证明,这很容易:
choiceBox.add(Separator())
。但是当然,
ChoiceBox
generic必须是
Object
。使用
javafx.scene.Node
应该作为generic。您也可以根据情况使用
javafx.scene.control.control
。查看javadoch中的继承,网址为