Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "5 Display"

Line 1: Line 1:
 
[[Comparison SWT / RWT|back to table of content]]
 
[[Comparison SWT / RWT|back to table of content]]
 +
 +
==Display==
 +
 +
The display creation in RWT is slightly different than in SWT. Instead of a main method RWT provides the IEntryPoint Interface in its createUI method. In this method you need to implement the creation of the display and the initial set of widgets to be displayed.
 +
 +
<code>
 +
 +
  public class Example implements IEntryPoint {
 +
    public Display createUI() {
 +
      Display display = new Display();
 +
      final Shell shell = new Shell( display, RWT.NONE );
 +
      shell.setBounds( 10, 10, 800, 600 );
 +
   
 +
      ToolBar toolBar = new ToolBar( shell, RWT.NONE );
 +
      ToolItem item1 = new ToolItem( toolBar, RWT.PUSH );
 +
   
 +
      ...
 +
   
 +
      return display;
 +
    }
 +
  }
 +
 +
</code>
  
 
===Naming Your Application===
 
===Naming Your Application===

Revision as of 15:18, 8 January 2007

back to table of content

Display

The display creation in RWT is slightly different than in SWT. Instead of a main method RWT provides the IEntryPoint Interface in its createUI method. In this method you need to implement the creation of the display and the initial set of widgets to be displayed.

 public class Example implements IEntryPoint {
   public Display createUI() {
     Display display = new Display();
     final Shell shell = new Shell( display, RWT.NONE );
     shell.setBounds( 10, 10, 800, 600 );
   
     ToolBar toolBar = new ToolBar( shell, RWT.NONE );
     ToolItem item1 = new ToolItem( toolBar, RWT.PUSH );
   
     ...
   
     return display;
   }
 }

Naming Your Application

Not yet implemented. The HTML title could be used to mimic a minimal application naming.

Display Life Cycle

Similar, but the display lives as long as the browser session is active.

Events and Listeners

Will be implemented.

Event Filters.

Not yet implemented. Quote SWT book: "Filters are Powerful and Dangerous". One of the standard use cases for event filtering - large numbers of events - are not a good idea for RWT because of the distributed nature of RAP (and associated network latency).

Runnable "Execs".

Not yet implemented. Async exec requires some effort on the RWT side, as the client needs to be informed of UI changes. As http is a stateless protocol with request/response pushing of data is not intended by the creators of the protocol. There are two workarounds:

  • Polling (the client polls the server regulary while an async exec is running)
  • so called Comet - a http response is kept open / alive and can be used to push data to the browser. Latest developments in java servers promise to implement Comet with minimal overhead (Jetty, Glassfish).

The Event Loop.

Multithreaded Programming.

Timers.

Putting It All Together: Multithreading, Timers, Events, and the Event Loop.

Monitors, Bounds, and Client Area.

The Active Shell, All Shells, and Focus Control.

Cursor Control and Location.

Display Depth and DPI.

Updating the Display.

Application Data.

Coordinate Mapping and Mirroring.

Miscellaneous.

Back to the top