在Javafx中,如何使Treeview DisclosureNode正确?

在Javafx中,如何使Treeview DisclosureNode正确?,javafx,treeview,disclosure,Javafx,Treeview,Disclosure,在Javafx中,默认情况下Treeview的DisclosureNode位于左侧。如何将披露节点放置在右侧(向右浮动)。。?? 任何帮助都将不胜感激。您只需设置节点方向即可获得从右向左的行为。但是请注意,此树视图的所有子级都将继承默认方向 import javafx.application.Application; import javafx.geometry.NodeOrientation; import javafx.scene.Scene; import javafx.scene.con

在Javafx中,默认情况下Treeview的DisclosureNode位于左侧。如何将披露节点放置在右侧(向右浮动)。。??
任何帮助都将不胜感激。

您只需设置节点方向即可获得从右向左的行为。但是请注意,此树视图的所有子级都将继承默认方向

import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class TreeViewRightLeft extends Application {

    @Override
    public void start(Stage primaryStage) {
        TreeItem<String> item = new TreeItem<>("Root Node");
        item.setExpanded(true);
        item.getChildren().addAll(
                new TreeItem<>("Item 1"),
                new TreeItem<>("Item 2"),
                new TreeItem<>("Item 3")
        );
        TreeView<String> treeView = new TreeView<>(item);

        // Here you can select the orientation.
        treeView.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);

        BorderPane root = new BorderPane(treeView);
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("TreeView");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
导入javafx.application.application;
导入javafx.geometry.NodeOrientation;
导入javafx.scene.scene;
导入javafx.scene.control.TreeItem;
导入javafx.scene.control.TreeView;
导入javafx.scene.layout.BorderPane;
导入javafx.stage.stage;
公共类TreeViewRightLeft扩展了应用程序{
@凌驾
公共无效开始(阶段primaryStage){
TreeItem=新的TreeItem(“根节点”);
item.setExpanded(true);
item.getChildren().addAll(
新树项目(“项目1”),
新树项目(“项目2”),
新树项目(“项目3”)
);
TreeView TreeView=新的TreeView(项目);
//在这里,您可以选择方向。
树视图。设置节点方向(节点方向。从右到左);
BorderPane根=新的BorderPane(treeView);
场景=新场景(根,300,250);
初级阶段。设置标题(“树视图”);
初级阶段。场景(场景);
primaryStage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
从右向左

从左到右(默认)

什么是DisclosureNode?@UlukBiy是“展开/折叠”图标:嗨,没有使用NodeOrientation还有其他方法吗。我们能用css做点什么吗?@user2396250你能澄清一下为什么节点方向不适合你吗?@user2396250没有见过这样的css类。所以答案可能是否定的。