我发现了一个在选择日期时触发的propertyChanged
事件。并使表格在 focusLost 上终止JDateChooser
编辑jTable1.putClientProperty("terminateEditOnFocusLost", true);
编辑:如果您想更改使表格单元格失去焦点并终止编辑的年份,则当日历弹出窗口关闭时:(
jDateChooser.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("date")) {
stopCellEditing();
}
}
});
编辑(已解决):当焦点丢失时,不要使用jTable1.putClientProperty("terminateEditOnFocusLost", true);
将 ta 添加FocusListener
到JTable
inTableCellEditor
并取消编辑,而是有机会检查JDateChooser's
弹出窗口是否可见。但在此之前,JDateChooser
应该使用弹出isVisible
方法进行扩展。因为弹出变量是受保护的。并且单元格编辑器组件不应该是可聚焦的,否则JTable
也会失去焦点