Java SWT: widgetSelected vs widgetDefaultSelected



例如,当用户单击按钮时,我想执行一些操作。我该用哪一个?文件似乎没有很清楚地表明

更新

快速测试显示已触发Widget Selected,但未触发Default Selected。

TasksView.main()

TasksView view = new TasksView(shell, SWT.None);
TasksController controller = new TasksController(view);

TasksController

public class TasksController extends ControllerAbstract {
    protected TasksView view;
    public TasksController(TasksView view) {
        this.view = view;
        view.addTaskListener(new AddTaskListener());
    }
    protected class AddTaskListener implements SelectionListener {
        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
            System.out.println("Default Selected");
        }
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            System.out.println("Widget Selected");
        }
    }
}

顺便说一句,我做MVC正确吗?

使用widgetSelected。事实上,最好是简单地扩展SelectionAdapter,只覆盖widgetSelected方法,完全忽略widgetDefaultSelected

SelectionListener.widgetDefaultSelected(e)具有依赖于工具包的行为。我通常只调用SelectionListener.widgetSelected(...)。(请注意,这不是SelectionAdapter.widgetDefaultSelected(e)中的默认设置-您必须自己完成。

相关内容

  • 没有找到相关文章

最新更新