用示例说明一下什么是 JavaFX 中的 CheckBoxTreeItem?
复选框
复选框是一种选择控件,形状为正方形,里面有刻度。它有三个状态:选中、未选中和三态/不确定(可选)。与单选按钮不同,你无法使用切换按钮组合复选框。
树视图
树提供了一种分层结构的视图,每棵树都包含一个根部(最高对象)和子项。你可以通过实例化 javafx.scene.control.TreeView 类来创建一个树视图。
CheckBoxTreeItem 是使用复选框形成的树视图。你可以通过实例化 javafx.scene.control.CheckBoxTreeItem 类来创建一个复选框树项。
Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.
示例
以下示例演示了如何创建 CheckBoxTreeItem。
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.CheckBoxTreeItem; import javafx.scene.control.Label; import javafx.scene.control.TreeView; import javafx.scene.control.cell.CheckBoxTreeCell; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.stage.Stage; public class CheckBoxTreeExample extends Application { public void start(Stage stage) { //Creating the check boxes CheckBoxTreeItem<String> checkBox1 = new CheckBoxTreeItem<>("English"); CheckBoxTreeItem<String> checkBox2 = new CheckBoxTreeItem<>("Hindi"); CheckBoxTreeItem<String> checkBox3 = new CheckBoxTreeItem<>("Telugu"); CheckBoxTreeItem<String> checkBox4 = new CheckBoxTreeItem<>("Tamil"); //Creating the label Label label = new Label("Select known languages:"); Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12); label.setFont(font); //Creating the parent check box item CheckBoxTreeItem<String> languages = new CheckBoxTreeItem<>("Languages"); languages.setExpanded(true); //Adding all the child check box items it the parent languages.getChildren().addAll(checkBox1, checkBox2, checkBox3, checkBox4); //Creating a tree view TreeView<String> treeView = new TreeView<>(); //Adding the parent check box item to the tree view treeView.setRoot(languages); //Setting the cell factory treeView.setCellFactory(CheckBoxTreeCell.<String>forTreeView()); //Setting the height of the tree view treeView.setMaxHeight(140); //Setting layout VBox vBox = new VBox(5); vBox.setPadding(new Insets(25, 5, 5, 50)); vBox.getChildren().addAll(label, treeView); //Setting the stage Scene scene = new Scene(new Group(vBox), 595, 200, Color.BEIGE); stage.setTitle("Check Tree Item"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告