javaFX table表格可编辑失去焦点提交
来源:互联网 发布:js 排序算法 编辑:程序博客网 时间:2024/05/20 05:53
代码如下
public class EditingCell<T> extends TableCell<T, String> {
private TextField textField;
public EditingCell() {
}
@Override
public void startEdit() {
if (!isEmpty()) {
super.startEdit();
createTextField();
setText(null);
setGraphic(textField);
textField.selectAll();
}
}
@Override
public void cancelEdit() {
super.cancelEdit();
setText((String) getItem());
setGraphic(null);
}
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
if (isEditing()) {
if (textField != null) {
textField.setText(getString());
}
setText(null);
setGraphic(textField);
} else {
setText(getString());
setGraphic(null);
}
}
}
private void createTextField() {
textField = new TextField(getString());
textField.setMinWidth(this.getWidth() - this.getGraphicTextGap() * 2);
textField.focusedProperty().addListener((ob, old, now) -> {
if (!now) {
commitEdit(textField.getText());
}
});
}
private String getString() {
return getItem() == null ? "" : getItem().toString();
}
}
最后给你要设置的列
要设置的列.setCellFactory((TableColumn<T,String> p) -> new EditingCell<T>()) ;
就可以了
- javaFX table表格可编辑失去焦点提交
- 双击 表格 td 变成 可以编辑的input框 失去焦点提交
- javafx表格可编辑String转Integer
- 可编辑表格批量提交
- 双击表格td进行编辑,失去焦点完成修改
- easyui可编辑行失去焦点后操作
- jquery——双击编辑异步更新(双击内容变input框可编辑,失去焦点后修改的数据异步提交)
- SWT/JFACE表格Table可编辑
- SWT的Table表格可编辑单元格
- table可编辑表格写法(简单)
- Ext 可编辑表格批量提交
- 让编辑框失去焦点
- table单击进入编辑状态、失去焦点发送数据到后台
- 可编辑子项的CListCtrl类(失去焦点时,CEdit消息被屏蔽的问题)
- JTable 失去焦点时取消编辑状态
- JTable 失去焦点时取消编辑状态
- JTable 失去焦点时取消编辑状态
- Jquery可编辑table
- 简单工厂模式实现粗略的四则运算
- 卷积网络keras实现的部分理解
- oracle11g+window2008数据库服务器数据本地和异地备份
- Webservice服务端
- Spark及其生态圈简介
- javaFX table表格可编辑失去焦点提交
- Tomcat部署多个应用时日志文件路径相同引起的问题
- 解决报错:import sun.misc.BASE64Decoder无法找到
- 完美解决ScrollView 中 RecyclerView 滑动冲突
- 自定义内容提供者
- 和电脑玩剪刀石头布哦~~~
- 录音机和录像机的输入通路
- 顶级技术网站博客汇总
- 比特币之脚本