Community
Participate
Working Groups
Provide Swing interoperability. Eclipse plug-in developers often have existing Swing-based UIs that they would like to integrate with Eclipse. Eclipse should provide a wrapper that allows Swing widgets to be embedded within a SWT UI. [SWT]
See bug 4417
...on all platforms.
Prefer to have AWT on top of SWT released to Eclipse, then swing (which on top of AWT) is possible without recoding. This way, SUN's SWING implementation can be used, all user has to do is setting bootstrap path for the alternative java.awt stuff.
Gathering all bug reports that are related to Swing interoperability into this bug report. When this bug report is closed, each of the related reports needs to be investigated. NOTE: 4417 contains sample code and the detailed discussion.
Update on embedding AWT/Swing widgets in SWT Composite: We have implemented support in SWT for the XEmbed protocol. This will allow any X application that implements XEmbed to be embedded within SWT. When the Java Class Library vendors support the XEmbed protocol, then you will be able to embed AWT/Swing inside SWT on Motif and GTK. On Windows we are migrating our SWT_AWT implementation to use the AWT Native Interface (supported in JDK 1.2 and later) rather than DrawingSurface and WDrawingSurfaceInfo (no longer available in JDK 1.4). On GTK and Motif we will implement SWT_AWT using the AWT Native Interface. SWT_AWT is the "glue" class that allows an AWT Panel to be created within an SWT Composite. Nothing has yet been done for interoperability with Swing on Carbon or Photon.
Interesting and probably useful. But have you looked at the solution provided in bug 39401? Seems like a more convenient solution.
Bug 39401 does not address the problem of having Swing interoperability on all platforms. Bug 39401 is about having the AWT thread and the native UI thread interact without deadlocks. A solution is provided in that bug report.
The acceptance of Eclipse as a rich client platform would be benefited by Swing interoperability. Many organisations have developed specialised controls for their business needs, e.g. controls to enter an account or creditcard number, part numbers or dates. These controls often have a complicated validation logic (the control rejects Feb, 29, 2003 but accepts Feb, 29, 2004, the control only accepts valid creditcard numbers). Sometimes there are controls, that map directly to a business object. Being able to continue using these controls within SWT would help the acceptance of Eclipse as a rich client platform.
Although I like the Eclipse GEF, it is in large part a port of Swing. When SWT permits developers who have created complex applications that use JGraph, custom components, and complex JTable and JTree implementations to add these elements to something as simple as a single-window SWT application, you'll win a lot of converts, and you'll provide a comfortable migration path. I would be happy if I could use a JPanel as the standard wrapper to insert a set of Swing components in an SWT layout.
This is no longer a plan item but ongoing maintenance. Please enter individual bug reports for any outstanding issues.