在 JavaFX 中使 treetableview 不可折叠
Make treetableview uncollapseable, in JavaFX
有没有办法让 treetableview 不可折叠,使 treetable 以展开模式打开 setExpanded(true) 并且不能再次折叠?
在树项的展开 属性 上添加侦听器,如果将其设置为 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);
有没有办法让 treetableview 不可折叠,使 treetable 以展开模式打开 setExpanded(true) 并且不能再次折叠?
在树项的展开 属性 上添加侦听器,如果将其设置为 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);