Где находится событие 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