Bug 267242 [JFace] Add API to configure table and tree columns in a keyboard-accessible way
bundles/org.eclipse.jface/src/org/eclipse/jface/internal/ConfigureColumnsDialog.java
Composite composite = (Composite) super.createDialogArea(parent);
		table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL
				| SWT.H_SCROLL /*
													 * | SWT.CHECK
													 */);
		for (int i = 0; i < columnObjects.length; i++) {
			TableItem tableItem = new TableItem(table, SWT.NONE);
			tableItem.setText(columnObjects[i].name);
			tableItem.setImage(columnObjects[i].image);
			tableItem.setData(columnObjects[i]);
		}
		GridDataFactory.defaultsFor(table)
				.span(1, moveableColumnsFound ? 3 : 1).applyTo(table);
		if (moveableColumnsFound) {
			upButton = new Button(composite, SWT.PUSH);
			upButton.setText(JFaceResources
					.getString("ConfigureColumnsDialog_up")); 
			upButton.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					handleMove(table, true);
				}
			});
			setButtonLayoutData(upButton);
			downButton = new Button(composite, SWT.PUSH);
			downButton.setText(JFaceResources
					.getString("ConfigureColumnsDialog_down")); 
			downButton.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					handleMove(table, false);
				}