首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用fxml在javaFx中的TableView中启用复选框

在JavaFX中使用FXML启用TableView中的复选框,可以通过以下步骤实现:

  1. 创建一个JavaFX项目,并确保已经导入了JavaFX相关的库。
  2. 在FXML文件中,使用TableView和TableColumn标签创建一个表格视图。例如,可以创建一个名为"tableView.fxml"的FXML文件,内容如下:
代码语言:xml
复制
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.TableViewController">
    <TableView fx:id="tableView">
        <columns>
            <TableColumn text="Name" fx:id="nameColumn"/>
            <TableColumn text="Age" fx:id="ageColumn"/>
            <TableColumn text="Select" fx:id="selectColumn"/>
        </columns>
    </TableView>
</AnchorPane>
  1. 创建一个名为"TableViewController"的Java类,并将其与FXML文件中的fx:controller属性关联起来。在该类中,定义一个TableView对象和相关的TableColumn对象,并为selectColumn设置一个CellFactory来启用复选框。代码示例如下:
代码语言:java
复制
import javafx.fxml.FXML;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.CheckBoxTableCell;

public class TableViewController {
    @FXML
    private TableView<Person> tableView;
    @FXML
    private TableColumn<Person, String> nameColumn;
    @FXML
    private TableColumn<Person, Integer> ageColumn;
    @FXML
    private TableColumn<Person, Boolean> selectColumn;

    public void initialize() {
        // 设置selectColumn的CellFactory为CheckBoxTableCell,启用复选框
        selectColumn.setCellFactory(CheckBoxTableCell.forTableColumn(selectColumn));
        
        // 添加示例数据
        tableView.getItems().add(new Person("John", 25, false));
        tableView.getItems().add(new Person("Jane", 30, true));
    }

    public static class Person {
        private String name;
        private int age;
        private boolean selected;

        public Person(String name, int age, boolean selected) {
            this.name = name;
            this.age = age;
            this.selected = selected;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        public boolean isSelected() {
            return selected;
        }
    }
}
  1. 在主应用程序类中加载FXML文件并显示窗口。例如,可以创建一个名为"MainApp"的Java类,代码示例如下:
代码语言:java
复制
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class MainApp extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("tableView.fxml"));
        AnchorPane root = loader.load();
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
  1. 运行主应用程序类,即可看到一个带有复选框的TableView。

这样,你就可以在JavaFX中使用FXML启用TableView中的复选框了。

注意:本答案中没有提及任何特定的云计算品牌商,如腾讯云等。如需了解相关产品和产品介绍,请自行搜索相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券