The stopCellEditing() call in the code below doesn't actually stop the cell editing. Ince my calendar dialog is disposed of, the cell is still waiting for entry. My guess is that I have to place the call to the calendar dialog somewhere else.


Here's the code:
public class DateCellEditor extends DefaultCellEditor {
	private static final long serialVersionUID = 1L; 
	String currentDate;
 
	public DateCellEditor() {
		super(new JTextField());
    }
 
	@Override
	public Object getCellEditorValue() {
		return currentDate;
	}
 
	public boolean isCellEditable(EventObject event) {
		boolean isEditable = super.isCellEditable(event);
		if(isEditable) {
			// Call the Date Picker
			PopupCalanderDialog calander = new PopupCalanderDialog();
			calander.setModal(true);
			calander.setVisible(true);
			calander.requestFocus();
			if(calander.isCancled()) {
				cancelCellEditing();
			} else {
				currentDate = calander.getDateString();
				stopCellEditing();
			}
			calander.dispose();  // Dispose of the Calander Popup Dialog
		} 
		return isEditable;
	}
}