JavaFX 树视图自动换行问题



我正在使用TreeView制作一个非常简单的UI,但是我找不到如何使文本环绕,以免它消失在视野之外。 我尝试过使用 CSS,但它没有任何区别。如果我将CSS应用于任何其他对象,它可以工作,所以我很确定我已经正确导入了样式表。作为旁注,是否有一个地方列出了所有可能的 CSS 函数?我一直在努力知道我可以将哪些选项应用于对象。

  public static TreeView DataTreeView; //this is from my FXML

  public static void TreePopulate(){
    TreeItem<String> rootItem = new TreeItem<String>("Data");
    TreeItem<String> DataNode = new TreeItem<String>("Data about the leaf offset etc");
    //this is the line that goes off screen
    TreeItem<String> DataLeaf = new TreeItem<String>(" lots of data dbabdbwdbawbdawbdbawb ewqeweqwe qweqweqw qeqweqwe "); 

    rootItem.getChildren().add(DataNode);
    DataNode.getChildren().add(DataLeaf);

    DataTreeView.getStyleClass().add("wordwrap");
    DataTreeView.setRoot(rootItem);

}
.wordwrap{
 -fx-wrap-text: true;
}

在 css 文件中,您可以添加

.tree-cell .label {
    -fx-wrap-text: true;
}

你可以在这里找到 css 参考http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html

您可以通过查看 caspian.css在您的 jfxrt.jar 文件中或只是使用 google 在互联网上找到它来查看当前设置。

您还可以使用 .setCellFactory 来指定单元格的制作方式。 我使用文本字段进行编辑,但我只是将其更改为文本区域,这也工作正常,除了按回车键有点问题,但这很容易修复。

最新更新