Donate Share

SWTSwing

File Release Notes and Changelog

Release Name: 3.2.0003

Notes:
The SWTSwing project - SWT running on Swing
http://swtswing.sourceforge.net
Christopher Deckers (chrriis@nextencia.com)
Licence terms: EPL 1.0 (see licence.html)


1. What is SWTSwing?

SWTSwing is an SWT port to Swing.
SWT is a graphical library for Java that uses the native widgets offered by the
operating system, at the cost of a thin native layer that is not part of the
Java Runtime Environment.
If you need more information about SWT, go to http://www.eclipse.org/swt.

A port to Swing has many benefits, including true portability (no native
libraries), can act as a bridge between Swing and SWT components, support for
look and feel.

SWTSwing requires the latest official version of the Java Runtime Environment in
order to provide a maximum coverage of SWT features.
The current version is Java 5.0.


2. How to use it?

Remove the SWT jars and native libraries from your application's class path, and
put add SWTSwing.jar. A usual way to proceed is to rename "SWTSwing.jar" to
"swt.jar" and replace the original "swt.jar" with the new one.

If everything is OK, your application runs using Swing's widgets.

If you have the possibility, let SWTSwing run your UI code in its UI thread. To
do this, place your UI code in a Runnable object, and invoke
Display.swtExec(runnable)
Alternatively, if your application uses the main thread as the UI thread, you
can use the special Display.main(String[]) method, with the first parameter
being the main class of your application, followed by the normal parameters.
If this is isn't possible, the library works with decreased performance.

You can set the Look And Feel of your application by setting the system property
"swt.swing.laf" to the name of the Look And Feel class. For example, to use the
metal Look And Feel, the system property should be set to
"javax.swing.plaf.metal.MetalLookAndFeel".


3. Any demo?

The Snippet launcher is there to demonstrate the current support of the
snippets: simply launch SWTSwingSnippetLauncher.jar.


4. What is the development status?

Many snippets, some small code samples provided by the SWT team to test SWT
ports) are running flawlessly.

Some more complex examples, like the ones provided by the SWT team, and some
simple applications do work on SWTSwing too, and the goal is now to make more of
these real world test cases to be supported.

For more detailed information about the current implementation status, visit
SWTSwing's website.


5. Sources?

The sources are part of the distribution, both for SWTSwing and the
SnippetLauncher.
Some methods do not compile which indicate the API is not complete. Eclipse
allows the compilation of code that contains errors: such code runs as long as
the affected methods are not used by the application using SWTSwing.


6. How to contribute?

If you are interested in helping the project, simply send me an e-mail.


Changes: The SWTSwing project - SWT running on Swing http://swtswing.sourceforge.net Christopher Deckers (chrriis@nextencia.com) Licence terms: EPL 1.0 (see licence.html) ---------------------------------- Change log ---------------------------------- * Version 3.2.0003 (September 15, 2006): - SystemSelection clipboard does not throw NPE if not supported. - Display does not tell to sleep if it is disposed. - Addition of "swt.swing.lightpopups" to enable lightweight popups. - Client area omited some insets, which is now fixed. - Table's VIRTUAL style is mostly supported. - The "swt.swing.laf.decorated" can force L&F decorations with "true"/"false". - Default combo box size is fixed. - Label wrapping is fixed. - Combo and List selection events are not sent when initiated programmaticaly. - Multi line messages are now supported in the MessageBox. - Color dialog is now working as expected. - Fixed an application freeze when closing a dialog in real dispatching mode. - Duplicate monitors are filtered out when getting the monitors. - The client areas of the monitors are now correct. - Setting an icon on a radio button does not remove the radio icon. - null text is never returned for a Label. - null text is never returned for a Button. - Some timers are removed to restore original performance. - Background and foreground are supported for Text. - Font chooser is implemented. - More methods are implemented for the Table and Tree widget. - Table header visibility and height are now working as expected. - Shells are forced to paint when they are shown to fix splashscreen issues. - Basic Table event handling is added. - Traversal keys general implementation is in place. * Version 3.2.0002 (September 4, 2006): - Code compiles without errors. Not implemented areas are marked as such. - Drop down tool item with text and icon are now layed out correctly. - Addition of a script to get and build the sources from the CVS repositories. - Wrapping is now honored in multi line Text widget. - Word wraps in MessageBox after a maximum predefined length. - Vertical style for ToolBar is honored. - Selection event is now sent upon selection of a combo item. - Fixed a problem when some events were sent and the tree was empty. - Table's removeXXX() methods are implemented. - Some fixes to the clipping of the GC. - syncExec() and asyncExec() were flawed and should be fixed now. - The TabFolder Selection event now sets the item the event structure. - Multi file extensions in a single filter is now supported. - Image bug related with transparency is fixed. - Preferred width of a wrapping label is fixed. - Preferred width of a list is fixed. - Browser widget is added using the really-limited JEditorPane class. - Border style is now supported for scale. - SnippetLauncher now offers a filter box. - Combo box size is constrained in height. - Border style for scale is supported. - ExpandBar background is changed to respect desktop color. - Label alignment is fixed. * Version 3.2.0001 (August 18, 2006): - Complete reimplementation from scratch. - Threading and deadlock issues from the original implementation are resolved. - The widget set is almost complete but some of the methods or event handling are still missing.