JavaFX TableView 是 JavaFX 框架中的一个组件,用于展示和编辑表格数据。要检查用户输入单元值,可以通过以下步骤进行:
setOnEditCommit
方法来监听编辑事件,并在事件处理程序中获取用户输入的值。以下是一个示例代码,演示如何检查用户输入单元值:
// 创建 TableView
TableView<Person> tableView = new TableView<>();
// 创建表格列
TableColumn<Person, String> nameColumn = new TableColumn<>("姓名");
TableColumn<Person, Integer> ageColumn = new TableColumn<>("年龄");
// 将表格列添加到 TableView 中
tableView.getColumns().addAll(nameColumn, ageColumn);
// 设置单元格编辑事件监听
tableView.setEditable(true);
nameColumn.setOnEditCommit(event -> {
// 获取用户输入的值
String newValue = event.getNewValue();
// 检查输入值的有效性
if (newValue == null || newValue.isEmpty()) {
// 提示错误信息
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("错误");
alert.setHeaderText(null);
alert.setContentText("姓名不能为空");
alert.showAndWait();
} else {
// 更新数据模型
event.getRowValue().setName(newValue);
}
});
// 定义 Person 类作为数据模型
public class Person {
private String name;
private int age;
// 省略构造方法和其他方法
}
// 将数据模型设置到 TableView 中
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("Alice", 20),
new Person("Bob", 25)
);
tableView.setItems(data);
在上述示例中,我们创建了一个 TableView,并添加了两个表格列。通过设置 setOnEditCommit
方法监听单元格的编辑事件,在事件处理程序中获取用户输入的值,并进行有效性检查。如果输入值为空,则弹出错误提示对话框;否则,更新数据模型中对应的属性值。
这样,我们就可以检查用户输入单元值,并根据需要进行相应的处理。
领取专属 10元无门槛券
手把手带您无忧上云