我正在使用稍微修改过的 JDateChooserCellEditor 类,它允许我将 jDateChooser 放在我的 jTable 单元格中。这是类的代码:
public class JDateChooserCellEditor extends AbstractCellEditor implements
TableCellEditor {
private JDateChooser dateChooser = new JDateChooser();
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
Date date = null;
if (value instanceof Date) {
date = (Date) value;
}
dateChooser.setDateFormatString("dd-MM-yyyy");
dateChooser.setDate(date);
return dateChooser;
}
public Object getCellEditorValue() {
dateChooser.setDateFormatString("dd-MM-yyyy");
return dateChooser.getDate();
}
一件事不起作用,我找不到解决方案。当我第一次单击内部包含 jDateChooser 的单元格时,选择日期并按 Enter 键 - 没有任何反应。该组件保持其焦点,但从不确认数据。但是,如果我在那之后选择不同的单元格,回车键就会神奇地起作用,并且日期会保存到我的 jTable 中。经过另一次尝试它不起作用..下一次尝试 - 它有效。这太令人困惑了。谢谢大家的帮助。