`

javafx2.0 获取TableView 正在编辑的单元TableCell

阅读更多

JFX使用CellFactory(Callback)来获取每个单元格(TableCell)的控件, 因而表格(TableView)并没有直接提供获取正在编辑的单元格(TableCell)的方法, 仅仅支持获取当前正在编辑的单位的位置(TablePosition), 如果需要获取正在编辑器的单元格(如手动提交编辑(commitEdit())), 可以通过如下方法来实现:

 

public class MyCell<S,T> extends TableCell<S, T> {

	@Override
	public void startEdit() {
		if((!(isEditable())) || (!(getTableView().isEditable())) || (!(getTableColumn().isEditable()))){
			return ;
		} 
		//在这里记录正在编辑的单元格. 作为示例, 这里使用Cell对应的TableView的userData来记录. 
		getTableView().setUserData(this);
		super.startEdit();
	}
	@Override
	public void cancelEdit() {
		super.cancelEdit();
		getTableView().setUserData(null);
	}

}
//外部获取TableCell
table.getUserData();
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics