Где находится событие MouseClick на кнопке SWT?

Я знаю, это звучит как очень простой вопрос, и мне стыдно спрашивать, но...

как добавить обработчик щелчка мыши к кнопке SWT?

Что я проверил:

  • Я могу найти тонны примеров о том, как добавить обработчики мыши вниз, мыши вверх или двойным щелчком мыши (назначив MouseListener). Очевидно, что щелчок мыши (последовательность вниз и вверх на одном и том же элементе управления) отличается от мыши вниз.
  • Я понимаю, что не может быть обработчика щелчка на generic элементы управления, но единственное событие, которое я вижу, добавлено в управления это SelectionListener -- что может будь то, но выбор звучит больше как " полученный фокус "для меня, чем"был нажат или выбран, а затем вызван нажатием клавиши".
  • нашел вопрос, ответ на который в основном говорит, что вам нужно реализуйте это сами - я нахожу, что в это немного трудно поверить.

Is выбор что обычно известно как" OnClick " на других языках/фреймворках? Или есть что-то еще, что я полностью упустил?

2 ответов


да SWT.Selection или SelectionListener это то, что вы ищете:

Button button = new Button(shell, SWT.PUSH);
button.addListener(SWT.Selection, new Listener()
{
    @Override
    public void handleEvent(Event event)
    {
        System.out.println("SWT.Selection");
    }
});

добавлять SelectionListener внутренне делает то же самое, что и код выше.

Это можно назвать выбором, потому что Button может быть флажок или кнопку Радион в зависимости от его стиля.


да SelectionListener Это то, что вам нужно. Я тоже больше поклонник OnClick терминологию себя как более вырезать и сухой; я отвлекся.

вот хороший пример для вас, чтобы увидеть, как это работает: http://www.java2s.com/Tutorial/Java/0280__SWT/UsingSelectionListener.htm