2015-08-31 3 views
1

Я использую Eclipse Buttonкнопки OnClick затмения

List<Button> aButtons = new ArrayList<Button>(); 
button = new Button(buttonsComposite, SWT.PUSH); 
    button.setText(BTN_TEXT); 
    aButtons.add(button); 

и у меня есть listener

makeButtonsListen(new Listener() { 

     @Override 
     public void handleEvent(Event event) { 
      handleButtonEvent(event); 
     } 
    }); 

private void makeButtonsListen(Listener listener) { 
    for (Button button : aButtons) { 
     button.addListener(SWT.Selection, listener); 
    } 
} 

Моя проблема заключается значение event.widget == button изменений после того, как я унимался кнопка. Как это сделать onClick? Я хочу, чтобы при изменении значения нажать и удерживать. В настоящее время это происходит после того, как я отпустил кнопку.

ответ

2

Если вы хотите прослушивать событие мыши вниз, затем добавить слушателя SWT.MouseDown вместо SWT.Selection:

private void makeButtonsListen(Listener listener) { 
    for (Button button : aButtons) { 
     button.addListener(SWT.MouseDown, listener); 
    } 
} 
+0

+1; Из любопытства: почему вы не опубликовали ответ в первую очередь, но использовали комментарий для написания своего решения и только ответили после того, как ОП нашел его полезным? – hiergiltdiestfu

+0

@hiergiltdiestfu Потому что я не был уверен, что понял вопрос. Мой комментарий был основан на догадках. – Baz

+0

Спасибо за ответ - достаточно справедливо. Это просто, что я видел, как люди подвергаются нападкам за публикацию ответов, совпадающих с решениями в комментариях. Это отчасти препятствует использованию системы ответов, как предполагалось, если решения в комментариях могут иметь такой эффект :) Возможно, просьба о разъяснении будет лучше в этом случае - или просто отправьте свою догадку в качестве ответа и снова удалите ее, если она оказывается недоразумением. Для чего это стоит, я не хочу говорить вам, как использовать SO, я просто счастлив, что наконец получил объяснение для такого случая. Добрый день вам, и продолжайте помогать :) – hiergiltdiestfu