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

JavaFX-TreeView在SplitPane中不显示任何项

刘和昶
2023-03-14

我尝试在我的JavaFX应用程序中实现一个TreeView。但不幸的是,没有项目显示,但我找不到一个问题。我搜索了一些例子,并像他们一样做了。

这是我的控制器代码:

public class FXMLDocumentController implements Initializable {
    @FXML
    private Label label;
    @FXML
    private TreeView<String> treeView;
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
        TreeItem<String> root = new TreeItem<>("root");
        for (int i = 0; i < 10; i++) {
            TreeItem<String> child = new TreeItem<>("Children " + i);
            root.getChildren().add(child);
        }
        root.setExpanded(true);
        treeView.setRoot(root);// = new TreeView<String> (rootItem);  
        treeView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    }
}

我的FXML代码:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <SplitPane dividerPositions="0.29797979797979796" layoutX="134.0" layoutY="154.0" prefHeight="600.0" prefWidth="800.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
        <items>
          <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
               <children>
                  <TreeView fx:id="treeView" layoutX="39.0" layoutY="61.0" prefHeight="598.0" prefWidth="235.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
               </children>
            </AnchorPane>
          <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
        </items>
      </SplitPane>
   </children>
</AnchorPane>

共有1个答案

劳豪
2023-03-14

您还没有在FXML中指定控制器类。添加

fx:controller="my.package.FXMLDocumentController"

my.package替换为FXMLDocumentController所在的实际包)。

 类似资料:
  • 我需要在应用程序启动时加载JavaFX TreeView数据。问题是节点查找()方法总是返回null。 密码 断续器 http://pastebin.com/aC2gHMjp 我找到了这个解决方案,但它对我(两者)都不起作用。 有人能帮忙解决这个问题吗?

  • 问题内容: 因此,我想出了如何获取所有文件和目录并将其添加到树视图中的方法,但它向我展示了完整的文件路径:C / user / file.txt我只是想要文件或文件夹名称,而不是路径。 创建列表的代码如下: 然后,我将返回的TreeItem用作treeview.setroot(treeItem obj); 任何帮助将不胜感激。 问题答案: 使用自定义确定项目如何在中显示:

  • 本文向大家介绍如何在JavaFX中创建SplitPane?,包括了如何在JavaFX中创建SplitPane?的使用技巧和注意事项,需要的朋友参考一下 以下示例演示了SplitPane的创建。 输出结果

  • 问题内容: 我有一个Foo类,它仅加载FXML并创建场景。 在FXML中,我将控制器设置为FooController() 然后添加一个MenuButton: 我尝试在FooController中设置menuButton: 但是,尽管为MenuButton设置了所有内容,但它并未在GUI中显示任何CheckMenuItems。 如何在FXML中定义的menuButton中加载这些项目? 问题答案:

  • 我有这个模型: 我试图有一个表行[String-String-ComboBox with Strings]。所以我像这样设置表格: 但结果是,我在第三列中没有看到任何组合框应该包含值“1”和“3”。相反,我看到的是: 我缺少什么来显示组合框?谢谢

  • 我想在JavaFX的ImageView中显示图像。图像应该从SQLite数据库中获取,并在场景加载时显示。我使用以下代码片段从数据库获取代码,并在之前创建的ImageView中显示它。但是图像没有按预期显示。我做错了吗?P. S.我测试了改变路径在两个和当读取文件从目录到。但似乎没有什么奏效。但是当我手动将一个图像文件放在src目录中并尝试读取它时,它就像一个魅力。但是我想展示一张从数据库中提取的