是通过CSS来实现的。可以使用CSS的伪类选择器来选择选定的TreeItem,并为其设置样式。
首先,需要为TreeView中的TreeItem定义一个CSS类,以便后续样式设置。可以在CSS文件中添加以下代码:
.selected-tree-item {
/* 设置选定TreeItem的样式 */
background-color: #f0f0f0;
font-weight: bold;
}
接下来,在TreeView的代码中,当选定一个TreeItem时,需要为其添加该CSS类。可以使用TreeView的事件监听器来实现。以下是一个示例代码:
TreeView<String> treeView = new TreeView<>();
// 监听TreeView的选中事件
treeView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
// 移除之前选定的TreeItem的样式
if (oldValue != null) {
oldValue.getStyleClass().remove("selected-tree-item");
}
// 添加选定的TreeItem的样式
if (newValue != null) {
newValue.getStyleClass().add("selected-tree-item");
}
});
在上述代码中,通过监听TreeView的选中事件,可以获取到之前选定的TreeItem和当前选定的TreeItem。然后,通过getStyleClass()
方法获取到TreeItem的CSS类列表,使用remove()
方法移除之前选定的TreeItem的样式,使用add()
方法添加选定的TreeItem的样式。
最后,需要将CSS文件与JavaFX应用程序关联起来。可以使用Scene
类的getStylesheets()
方法来添加CSS文件。以下是一个示例代码:
Scene scene = new Scene(root);
scene.getStylesheets().add("path/to/your/css/file.css");
在上述代码中,将CSS文件的路径替换为实际的路径。
通过以上步骤,就可以在TreeView中设置选定TreeItem的样式了。当选定一个TreeItem时,该TreeItem的背景颜色将变为灰色,字体加粗。
关于TreeView的更多信息和使用方法,可以参考腾讯云的文档:TreeView。
领取专属 10元无门槛券
手把手带您无忧上云