Как правильно настроить Treeview DisclosureNode в Javafx?

В Javafx DisclosureNode Treeview по умолчанию слева. Как я могу разместить узел раскрытия справа (плавающий справа)..?? Любая помощь будет оценена.

1 ответ

Вам нужно только установить Ориентацию узла, чтобы получить поведение справа налево. Но имейте в виду, что все потомки этого TreeView будут наследовать ориентацию по умолчанию.

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);
    }
}

Справа налево

Приложение

Слева направо (по умолчанию)

AppDefault

Другие вопросы по тегам