public override void tableChanged(TableModelEvent tme) { MemoryBreakpointsModel mbpm = (MemoryBreakpointsModel)tme.Source; outerInstance.btnExport.Enabled = mbpm.RowCount > 0; // validate entered addresses if (tme.Column == outerInstance.COL_STARTADDRESS || tme.Column == outerInstance.COL_ENDADDRESS) { for (int i = tme.FirstRow; i <= tme.LastRow; i++) { int start = Integer.decode(mbpm.getValueAt(i, outerInstance.COL_STARTADDRESS).ToString()); int end = Integer.decode(mbpm.getValueAt(i, outerInstance.COL_ENDADDRESS).ToString()); if (tme.Column == outerInstance.COL_STARTADDRESS && start > end) { mbpm.setValueAt(new int?(start), i, outerInstance.COL_ENDADDRESS); } if (tme.Column == outerInstance.COL_ENDADDRESS && end < start) { mbpm.setValueAt(new int?(end), i, outerInstance.COL_STARTADDRESS); } } } }