Rectangle bounds = item.getBounds(column);
Rectangle bounds = row.getBounds(columnIndex);
void paint(Event event) {	GC gc = event.gc;	Display display = getDisplay();	gc.setBackground(getBackground());	gc.setForeground(getForeground());	gc.fillRectangle(event.x, event.y, event.width, event.height);	TableItem item = table.getItem(row);	int x = 0;	Point size = getSize();	Image image = item.getImage(column);	if (image != null) {		Rectangle imageSize = image.getBounds();		int imageY = (size.y - imageSize.height) / 2;		gc.drawImage(image, x, imageY);		x += imageSize.width;	}	String text = item.getText(column);	if (text != "") { //$NON-NLS-1$		Rectangle bounds = item.getBounds(column);		Point extent = gc.stringExtent(text);		TableColumn[] columns = table.getColumns();		// Temporary code - need a better way to determine table trim		String platform = SWT.getPlatform();		if ("win32".equals(platform)) { //$NON-NLS-1$			if (table.getColumns().length == 0 || column == 0) {				x += 2; 			} else {				TableColumn tableColumn = columns[column];				int alignmnent = tableColumn.getAlignment();				switch (alignmnent) {					case SWT.LEFT:						x += 6;						break;					case SWT.RIGHT:						x = bounds.width - extent.x - 6;						break;					case SWT.CENTER:						x += (bounds.width - x - extent.x) / 2;						break;				}			}		}  else {			if (table.getColumns().length == 0) {				x += 5; 			} else {				int alignmnent = columns[column].getAlignment();				switch (alignmnent) {					case SWT.LEFT:						x += 5;						break;					case SWT.RIGHT:						x = bounds.width- extent.x - 2;						break;					case SWT.CENTER:						x += (bounds.width - x - extent.x) / 2 + 2;						break;				}			}		}		int textY = (size.y - extent.y) / 2;		gc.drawString(text, x, textY);	}	if (isFocusControl()) {		gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));		gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));		gc.drawFocus(0, 0, size.x, size.y);	}}