我对 TreeView 组件有疑问,它有 CheckBoxTreeItem 来检查启用或禁用,它非常有选择和取消选择这个参考 ==> 使用 JavaFX UI 控件:树视图 | JavaFX 2 教程和文档与使用树单元格编辑器。这是带有树视图的图像有 CheckBoxTreeItem ( http://docs.oracle.com/javafx/2/ui_controls/img/tree-view-checkbox1.png )
现在,我想在 CheckBoxTreeItem 旁边添加图标图像(这意味着我们在复选框旁边有图标图像)。
谁能帮我解决这个问题?
当我像这样设置时,我看到了 tree.setCellFactory(CheckBoxTreeCell.forTreeView()); ==> 无法显示图标
这是我的编码
package sample;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.CheckBoxTreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.control.cell.CheckBoxTreeCell;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
primaryStage.setTitle("Tree View Sample");
Node graphic = new ImageView(new Image("https://duke.kenai.com/iconSized/duke4.gif"));
CheckBoxTreeItem<String> rootItem =
new CheckBoxTreeItem<String>("View Source Files", graphic);
rootItem.setExpanded(true);
final TreeView tree = new TreeView(rootItem);
tree.setEditable(true);
tree.setCellFactory(CheckBoxTreeCell.<String>forTreeView());
for (int i = 0; i < 8; i++) {
final CheckBoxTreeItem<String> checkBoxTreeItem =
new CheckBoxTreeItem<String>("Sample" + (i+1), graphic);
rootItem.getChildren().add(checkBoxTreeItem);
}
tree.setRoot(rootItem);
tree.setShowRoot(true);
StackPane root = new StackPane();
root.getChildren().add(tree);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
感谢 4 您的阅读。
陈国荣