onClick 日食按钮

onClick eclipse button

我用Eclipse Button

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 怎么做?我想当点击并按住值发生变化时。目前它发生在我按下按钮之后。

如果要监听鼠标按下事件,请将监听器添加到 SWT.MouseDown 而不是 SWT.Selection:

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