gpt4 book ai didi

java - SWT/AWT 桥接问题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:41 26 4
gpt4 key购买 nike

下午,

我正在开发 Eclipse RCP 插件。我想在其中嵌入一个 Swing 组件。目前我正在使用这样的 SWT <-> AWT 桥:

Applet applet = new myApplet();
Composite swtAwtComponent = new Composite(parent, SWT.EMBEDDED);
java.awt.Frame frame = SWT_AWT.new_Frame( swtAwtComponent );
applet.init();
frame.add(applet);

这种方法是否存在任何重大问题,或者是否有我应该考虑的更好方法?这将如何影响应用程序中的线程/并发。

谢谢

最佳答案

SWT_AWT 桥肯定存在一些问题:

  1. 最重要的当然是线程问题。这里的问题是,当您同时使用 SWT 和 AWT 时,实际上是在使用两个 GUI 线程。它们之间的适当同步是绝对必要的,否则您将经常以死锁告终。在大多数情况下,您可以使用 EventQueue#invokeLater 或 Display#asyncExec 来避免它。

  2. 第二个主要问题是模态问题。 SWT 有自己的模态堆栈,AWT 也有自己的。您可能也需要解决这些问题。对此有已知的解决方案。

  3. 您可能会在这里和那里看到外观和感觉上的不一致,并且可能需要根据具体情况进行修复。

  4. 还有其他一些小问题,例如有时鼠标滚轮滚动在某些平台上不起作用。

请确保您阅读并理解 FAQ在使用 SWT_AWT 做一些大事之前。

关于java - SWT/AWT 桥接问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2261197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com