Запустить событие на mouseClick в SWT? - PullRequest
4 голосов
/ 12 января 2012

В SWT для интерфейса MouseListener доступны следующие методы: mouseUp(), mouseDown() и mouseDoubleClick()

Как запустить событие на основе клика пользователя?

Мы можем сделать это с помощью комбинации mouseUp() и mouseDown(), но нет ли в SWT тривиального решения, такого как mouseClick() метод?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Как будет определяться событие щелчка мышью?Мышь, а затем мышь, не выходя за границы элемента управления (иначе это будет перетаскивание), верно?По этому определению событие щелчка мыши не может быть связано с одной точкой, а скорее с областью (1) или элементом управления (2).Первый случай не подходит для общего события SWT, которое имеет только местоположение (x и y), и вам все равно потребуется дополнительный код, чтобы проверить, была ли область щелчка внутри вашего изображения.Во втором случае, когда щелчок мышью будет определяться только с помощью элемента управления (без указания местоположения), событие будет для вас бесполезным.

Когда вы реализовали свое собственное обнаружение одним щелчком, вы можете запустить любоесобытия на элементе управления, которые вам нравятся, даже те, которые не определены SWT.

0 голосов
/ 02 марта 2017

Чтобы отреагировать на событие щелчка мыши на кнопке, вы можете использовать SelectionListener, что-то вроде этого должно сработать:

button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            super.widgetSelected(e);
            System.out.println("click!");
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...