Display display = getDisplay(); display.asyncExec(new Runnable() { public void run() { if (table.isDisposed()) return; int oldRow = row; row = -1; int count = table.getItemCount(); if (count == 0) { resize(); } else { setRowColumn(oldRow == 0 ? 0 : oldRow -1, column, true); } } });
row = null; column = null; resize();
		public void handleEvent(Event event) {			Display display = getDisplay();			display.asyncExec(new Runnable() {				public void run() {					if (table.isDisposed()) return;					int oldRow = row;					row = -1;					int count = table.getItemCount();					if (count == 0) {						resize();					} else {						setRowColumn(oldRow == 0 ? 0 : oldRow -1, column, true);					}				}			});		}