DJ Native Swing is a NativeSwing library that allows an easy integration of some native components into Swing applications, and provides some native utilities to enhance Swing's APIs. The key components are of course a rich web browser and a flash player. The NativeSwing Demo application presents all the functionalities, along with corresponding source code.
Any tutorial or demo?
The DJ NativeSwing Demo presents all the features of the NativeSwing library, along with the corresponding code. Simply launch DJNativeSwingDemo.jar.
By default, the Windows version of SWT is provided and in the demo's classpath. If you wish to try on a different platform, simply place the corresponding SWT library, (re-)named swt.jar alongside DJNativeSwingDemo.jar.
What is the development status?
The library is tested on Windows and Linux, and logically works on all the
platforms where SWT supports placing SWT components in a Swing application. The library solves those common integration issues:
� Lightweight and heavyweight components produce visual glitches, like Swing popup menus, tooltips and combo drop menu to appear behind the native components.
� Hidden heavyweight components added to the user interface steal the focus, or mess it up.
� Swing modality works for Swing components, but the embedded native component are not blocked.
� The threading of the user interface is different in Swing and the native components, as each have their own event pump. Deadlocks occur easily.
For information about the current implementation status, visit the DJ Project's website.
What's New in This Release: [ read full changelog ]
· Fixed a subtle bug occurring in rare conditions that could cause a freeze.
· Cookie management is added to the browser.
· Some clean up is done for WebBrowserObject internal object registry.
· Fixed exception when system properties contains non-String objects.
· JFlashPlayer flashvars are properly encoded.
· Updated VLC API to latest (0.9.6).
· Fixed a bug (regression) where native resources were not released properly.
· Fixed a bug where some key events were not working on Linux.
· Fixed a bug with status bar messages: state was not restored properly.
· Fixed a bug (regression) in native interface restart.
· Fixed native interface lifecycle when in-process.