簡體   English   中英

SWT / AWT橋接問題?

[英]Problems with SWT / AWT bridging?

下午,

我正在研究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. 還有其他小問題,例如有時候鼠標滾輪滾動在某些平台上不起作用。

在使用SWT_AWT做大事之前,請務必閱讀並理解常見問題解答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM