Here are the system properties recognized by the DJ Native Swing SWT-based
implementation.

Note that most of these properties need to be defined before the classes that
are using them get loaded.

--------------------------------------------------------------------------------

* nativeswing.interface.port
  = <integer> (default: -1)
  Force the port to use to communicate with the spawned VM.

* nativeswing.interface.streamresetthreshold
  = <integer> (default: 500000)
  Set the number of bytes that need to be exchanged to trigger a reset of the
  Object communication stream.

* nativeswing.interface.syncmessages
  = true/false (default: false)
  Set whether all asynchronous messages should be sent synchronously.

* nativeswing.interface.debug.printmessages
  = true/false (default: false)
  Set whether to print the messages that are exchanged.

* nativeswing.interface.inprocess
  = true/false (default: platform-dependant)
  Set whether the interface should be in-process or out-process.

* nativeswing.interface.inprocess.printnonserializablemessages
  = true/false (default: false)
  When in-process, set whether messages should be artificially serialized to
  check whether they would be compatible with the out-process mode.

--------------------------------------------------------------------------------

* nativeswing.peervm.create
  = true/false (default: true)
  Set whether the peer VM should be created. Setting it to false and forcing the
  port allows to connect to a separately launched peer VM.

* nativeswing.peervm.keepalive
  = true/false (default: false)
  Set whether the peer VM should die after a timeout. This is useful when
  launching the peer VM separately.
  
* nativeswing.peervm.forceproxyclassloader
  = true/false (default: false)
  Force the use of the proxy class loader. This specific class loader is
  automatically used in the peer VM when some resources cannot be located when
  spawning the VM.

* nativeswing.peervm.debug.printstartmessage
  = true/false (default: false)
  Set whether a message should be printed when the peer VM is launched, in order
  to check that the peer VM could be created.
 
* nativeswing.peervm.debug.printcommandline
  = true/false (default: false)
  Set whether the command line that is used to spawn the peer VM should be
  printed.

--------------------------------------------------------------------------------

* nativeswing.components.debug.printfailedmessages
  = true/false (default: false)
  Set whether the messages that did not reach the native component should be
  printed.

--------------------------------------------------------------------------------

* nativeswing.webbrowser.runtime
  = xulrunner (default: none)
  Set the runtime of the web browser. Currently, only XULRunner is supported.

* nativeswing.webbrowser.xulrunner.home
  = <path to XULRunner>
  Set which XULRunner installation is used. This property is taken into account
  when using the XULRunner runtime.

--------------------------------------------------------------------------------

* nativeswing.swt.debug.device
  = true/false (default: false)
  Set whether the SWT Device debugging is active.
