Example usage for org.eclipse.swt.widgets Composite setLocation

List of usage examples for org.eclipse.swt.widgets Composite setLocation

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Composite setLocation.

Prototype

public void setLocation(int x, int y) 

Source Link

Document

Sets the receiver's location to the point specified by the arguments which are relative to the receiver's parent (or its display if its parent is null), unless the receiver is a shell.

Usage

From source file:Snippet46.java

public static void main(String[] args) {
    Display display = new Display();
    final Shell shell = new Shell(display);
    final Composite composite = new Composite(shell, SWT.NONE);
    composite.setEnabled(false);//w  ww . j  av  a 2s.co  m
    composite.setLayout(new FillLayout());
    Button button = new Button(composite, SWT.PUSH);
    button.setText("Button");
    composite.pack();
    composite.setLocation(10, 10);
    final Point[] offset = new Point[1];
    Listener listener = new Listener() {
        public void handleEvent(Event event) {
            switch (event.type) {
            case SWT.MouseDown:
                Rectangle rect = composite.getBounds();
                if (rect.contains(event.x, event.y)) {
                    Point pt1 = composite.toDisplay(0, 0);
                    Point pt2 = shell.toDisplay(event.x, event.y);
                    offset[0] = new Point(pt2.x - pt1.x, pt2.y - pt1.y);
                }
                break;
            case SWT.MouseMove:
                if (offset[0] != null) {
                    Point pt = offset[0];
                    composite.setLocation(event.x - pt.x, event.y - pt.y);
                }
                break;
            case SWT.MouseUp:
                offset[0] = null;
                break;
            }
        }
    };
    shell.addListener(SWT.MouseDown, listener);
    shell.addListener(SWT.MouseUp, listener);
    shell.addListener(SWT.MouseMove, listener);
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet46.java

public static void main(String[] args) {
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Snippet 46");
    final Composite composite = new Composite(shell, SWT.NONE);
    composite.setEnabled(false);//from ww  w .j av  a2  s . co  m
    composite.setLayout(new FillLayout());
    Button button = new Button(composite, SWT.PUSH);
    button.setText("Button");
    composite.pack();
    composite.setLocation(10, 10);
    final Point[] offset = new Point[1];
    Listener listener = event -> {
        switch (event.type) {
        case SWT.MouseDown:
            Rectangle rect = composite.getBounds();
            if (rect.contains(event.x, event.y)) {
                Point pt1 = composite.toDisplay(0, 0);
                Point pt2 = shell.toDisplay(event.x, event.y);
                offset[0] = new Point(pt2.x - pt1.x, pt2.y - pt1.y);
            }
            break;
        case SWT.MouseMove:
            if (offset[0] != null) {
                Point pt = offset[0];
                composite.setLocation(event.x - pt.x, event.y - pt.y);
            }
            break;
        case SWT.MouseUp:
            offset[0] = null;
            break;
        }
    };
    shell.addListener(SWT.MouseDown, listener);
    shell.addListener(SWT.MouseUp, listener);
    shell.addListener(SWT.MouseMove, listener);
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}