【问题标题】:widgetSelected() and different OS platform behaviorswidgetSelected() 和不同的操作系统平台行为
【发布时间】:2019-10-06 09:50:00
【问题描述】:

我有这个 Java 代码,我在其中实现了 selectionListener。 虽然它在 Windows 上运行良好,但令人惊讶的是,它在 Linux(Debian 9.9,Cinnamon)上不起作用,并且当我调试时,永远无法到达 println 代码。 知道为什么它可以在一个平台(Win?)上运行,但不能在另一个平台(Linux)上运行吗?

        DateTime dt = new DateTime(container, SWT.TIME | SWT.MEDIUM | SWT.BORDER);
        FormToolkit tk =new FormToolkit(parent.getDisplay());
        tk.adapt(dt, true, false);
        dt.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                           System.out.println("Event caught!");
}

【问题讨论】:

  • 如果您使用的是当前版本的 SWT,并且目标环境在受支持的平台中,我建议您提交一个错误。顺便说一句,样式不正确,只允许SORTMEDIUMLONG 之一(help.eclipse.org/luna/…
  • SWT 控件的代码在每个平台上完全不同,因此在单个平台上可能会出现问题。我在 Eclipse bugzilla 上没有看到任何明显的错误报告
  • 好的,我创建了一个bug。谢谢
  • 关于您的错误报告的注释 - 您被要求将完整的 minimal reproducible example 附加到错误中 - 可以运行并显示问题的内容。你越容易重现问题,你就越有可能取得进展。
  • 我看到了,我认为我的 sn-p 已经足够了,但我想我必须提供一个完整的 .java 文件/类,这样就不必编写任何额外的代码?跨度>

标签: java linux swt listener


【解决方案1】:

Per my bug report,此问题已在Eclipse 2019-09中修复

【讨论】:

    猜你喜欢
    • 2012-05-18
    • 2011-03-03
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 2013-05-21
    • 2015-08-09
    相关资源
    最近更新 更多