SWT - MouseListener

SWT - Пример MouseListener & MouseAdapter

MouseListener

Обработка событий мыши проста в реализации, нам нужно реализовать интерфейс MouseListener и объявить все методы интерфейса.

Мы можем прикрепить MouseListener к виджету с помощью метода addMouseListener ().

    "widget control".addMouseListener(new MouseListener()
    {
        public void mouseDown(MouseEvent e)
        {
            System.out.println("Mouse Down.");
        }
        public void mouseUp(MouseEvent e)
        {
            System.out.println("Mouse Up.");
        }
        public void mouseDoubleClick(MouseEvent e)
        {
            System.out.println("Mouse Double click.");
        }

    });

Вот полный исходный код.

mport org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SWTMouseListener {

public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell(display);

    //push button
    Button pushButton = new Button(shell, SWT.PUSH);
    pushButton.setLocation(50, 50);
    pushButton.setText("Im a Push Button");
    pushButton.pack();

    pushButton.addMouseListener(new MouseListener()
    {
        public void mouseDown(MouseEvent e)
        {
            System.out.println("Mouse Down.");
        }
        public void mouseUp(MouseEvent e)
        {
            System.out.println("Mouse Up.");
        }
        public void mouseDoubleClick(MouseEvent e)
        {
            System.out.println("Mouse Double click.");
        }

    });

    shell.setSize(500,500);
    shell.open ();
    while (!shell.isDisposed ()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
}

MouseAdapter

Иногда нам нужен только метод двойного щелчка в событии мыши, но мы реализуем интерфейс MouseListener, мы должны объявить все методы интерфейса. Здесь MouseAdapter на месте, с MouseAdapter, он дает всем MouseListener реализацию по умолчанию, нам нужно только объявить метод, который мы хотим использовать.

Мы также можем прикрепить MouseAdapter к виджету с помощью метода addMouseListener ().

    "widget control".addMouseListener(new MouseAdapter()
    {
        public void mouseDoubleClick(MouseEvent e)
        {
            System.out.println("Mouse Double click.");
        }

    });

Вот полный исходный код.

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SWTMouseAdapter {

public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell(display);

    //push button
    Button pushButton = new Button(shell, SWT.PUSH);
    pushButton.setLocation(50, 50);
    pushButton.setText("Im a Push Button");
    pushButton.pack();

    pushButton.addMouseListener(new MouseAdapter()
    {
        public void mouseDoubleClick(MouseEvent e)
        {
            System.out.println("Mouse Double click.");
        }

    });

    shell.setSize(500,500);
    shell.open ();
    while (!shell.isDisposed ()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
}