簡體   English   中英

在JavaFX中使treetableview不可折疊

[英]Make treetableview uncollapseable, in JavaFX

有沒有一種方法可以使treetableview無法折疊,從而使treetable以展開模式setExpanded(true)打開,並且無法再次折疊?

在樹項目的expanded屬性上添加一個偵聽器,如果將其設置為false,則將其設置回true-這樣,樹項目將始終顯示為擴展狀態。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.util.stream.*;

public class TreeViewSample extends Application {
    @Override public void start(Stage stage) {
        TreeItem<String> rootItem = new TreeItem<>("Inbox");
        rootItem.setExpanded(true);
        IntStream.range(0, 6)
                .mapToObj(i -> new TreeItem<>("Message" + i))
                .collect(Collectors.toCollection(rootItem::getChildren));

        rootItem.expandedProperty().addListener(observable -> {
            if (!rootItem.isExpanded()) {
                rootItem.setExpanded(true);
            }
        });

        TreeView<String> tree = new TreeView<>(rootItem);
        stage.setScene(new Scene(new StackPane(tree), 300, 250));
        stage.show();
    }

    public static void main(String[] args) { launch(args); }
}

隱藏您的根並將其設置為展開。 它可以解決您的問題。

treeTable.setShowRoot(false);
root.setExpanded(true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM