如何在JavaFXTreeView中使某些节点加粗?
如何在javaxtreeview中显示子节点为粗体的节点名称?(叶子节点应显示为非粗体)在树上使用单元工厂,根据显示的树项目是否为叶子,在其创建的树单元上设置CSS伪类的状态。然后,您可以使用一个外部css文件,该文件可以按照您喜欢的方式设置叶节点和非叶节点的样式 例如:如何在JavaFXTreeView中使某些节点加粗?,java,user-interface,javafx,Java,User Interface,Javafx,如何在javaxtreeview中显示子节点为粗体的节点名称?(叶子节点应显示为非粗体)在树上使用单元工厂,根据显示的树项目是否为叶子,在其创建的树单元上设置CSS伪类的状态。然后,您可以使用一个外部css文件,该文件可以按照您喜欢的方式设置叶节点和非叶节点的样式 例如: import javafx.application.Application; import javafx.css.PseudoClass; import javafx.scene.Scene; import javafx.sc
import javafx.application.Application;
import javafx.css.PseudoClass;
import javafx.scene.Scene;
import javafx.scene.control.TreeCell;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class BoldNonLeafNodes extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
final BorderPane uiRoot = new BorderPane();
TreeItem<Integer> root = createTreeItem(1);
final TreeView<Integer> tree = new TreeView<>(root);
PseudoClass leaf = PseudoClass.getPseudoClass("leaf");
tree.setCellFactory(tv -> {
TreeCell<Integer> cell = new TreeCell<>();
cell.itemProperty().addListener((obs, oldValue, newValue) -> {
if (newValue == null) {
cell.setText("");
} else {
cell.setText(newValue.toString());
}
});
cell.treeItemProperty().addListener((obs, oldTreeItem, newTreeItem) ->
cell.pseudoClassStateChanged(leaf, newTreeItem != null && newTreeItem.isLeaf()));
return cell ;
});
uiRoot.setCenter(tree);
final Scene scene = new Scene(uiRoot);
scene.getStylesheets().add("bold-non-leaf-nodes.css");
primaryStage.setScene(scene);
primaryStage.setTitle(getClass().getSimpleName());
primaryStage.show();
}
private TreeItem<Integer> createTreeItem(int value) {
TreeItem<Integer> item = new TreeItem<>(value);
if (value < 10000) {
for (int i=0; i<10; i++) {
item.getChildren().add(createTreeItem(10*value+i));
}
}
return item ;
}
public static void main(String[] args) {
launch(args);
}
}
请扩大你的问题。展示你现在拥有的(包括代码),你想要达到的结果,以及你为解决问题所做的任何尝试。特别是,你所说的“顶级节点”是什么意思?根节点?根节点的直接子节点?树状视图中的前5行?
.tree-cell {
-fx-font-weight: bold ;
}
.tree-cell:leaf {
-fx-font-weight: normal ;
}