次のコードは、対応するイベントが発生したときに「移動」と「最小化」を出力します。
public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final Button dummy = new Button(shell, SWT.PUSH);
    dummy.setText("Dummy");
    shell.addListener(SWT.Move, new Listener() {
        @Override
        public void handleEvent(Event arg0) {
            System.out.println("Move");
        }
    });
    shell.addListener(SWT.Iconify, new Listener() {
        @Override
        public void handleEvent(Event arg0) {
            System.out.println("Minimize");
        }
    });
    shell.pack();
    shell.setSize(400, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}
ただし、このSWT.MOVEイベントは、シェルが移動された後、つまり「移動」が終了したときにのみ発生します。