Java SWT:widgetSelected 与 widgetDefaultSelected

发布于 2025-01-05 02:06:41 字数 1013 浏览 4 评论 0原文

例如,我想在用户单击按钮时执行某些操作。我该用哪个?文档似乎没有说得很清楚

更新

快速测试显示,触发了 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?

For example I want to execute something when user clicks on a button. Which do I use? The documentation didn't appear to make it very clear

UPDATE

A quick test shows that Widget Selected is triggered but not Default Selected.

In TasksView.main()

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

In 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");

        }

    }
}

btw, Did I do MVC correctly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意中人 2025-01-12 02:06:41

使用widgetSelected。事实上,更好的方法是简单地扩展 SelectionAdapter 并仅重写 widgetSelected 方法并完全忽略 widgetDefaultSelected

Use widgetSelected. In fact, all the better is to simply extend SelectionAdapter and only override the widgetSelected method and completely ignore widgetDefaultSelected.

故事灯 2025-01-12 02:06:41

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

SelectionListener.widgetDefaultSelected(e) has a toolkit dependent behavior. I usually just invoke SelectionListener.widgetSelected(...). (Note that this is not the default in SelectionAdapter.widgetDefaultSelected(e) - you will have to do this yourself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文