March 2, 2021
Hot Topics:

SWT Programming with Eclipse

  • By Koray Guclu
  • Send Email »
  • More Articles »

8. Widgets

The SWT GUI objects derived from Widget and Control classes. The Widget object is the base class and defines methods common to all GUI classes. The Control class is the base class of all the windowed GUI classes, which means that the components derived from Control require a window or dialog to be displayed.

Menu objects also require a window to be displayed, but this requirement is indirectly satisfied. A Menu object requires a Control object.

Figure 4. Widget class hierarchy.

Figure 4 shows the widget class hierarchy. The Widget, Item, ScrollBar, and Control classes are abstract classes.

8.1. Widget Events

Widget events are summarized in Table 3. For the sake of simplicity, the table contains only the event names. It is easy to figure out the name of an event class by using this <EventName>Event. Likewise, the name of the associated listener can be figured out by using <Listener Name>Listener. Each event does not have a matching adaptor class. For that reason, events having adaptors are marked in bold. The name of an adaptor can be figured out by using <EventName>Adaptor.
Event Name is a Control, event class is a ControlEvent, listener class is a ControlListener, adaptor class is a ControlAdaptor.

Table 3. SWT Events
Event Name Widgets Generated When
Arm MenuItem a menu item is highlighted
Control Control, TableColumn, Tracker a control is resized or moved
Dispose Widget a widget is disposed
Focus Control a control gains or loses focus
Help Control, Menu, MenuItem the user requests help (e.g. by pressing the F1 key)
Key Control a key is pressed or released when the control has keyboard focus
Menu Menu a menu is hidden or shown
Modify Combo, Text a widget's text is modified
Mouse Control the mouse is pressed, released, or double-clicked over the control
MouseMove Control the mouse moves over the control
MouseTrack Control the mouse enters, leaves, or hovers over the control
Paint Control a control needs to be repainted
Selection Button, Combo, CoolItem, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableColumn, TableTree, Text, ToolItem, Tree an item is selected in the control
Shell Shell the shell is minimized, maximized, activated, deactivated, or closed
Traverse Control the control is traversed (tabbed)
Tree Tree, TableTree a tree item is collapsed or expanded
Verify Text, StyledText a widget's text is about to be modified

8.2. Useful widgets

Figure 5. Control class hierarchy.

All Control classes can be bordered. You can add a border to a control class by using the SWT.BORDER constant.

SWT style constant
It is required to specify a style constant (style bit). If you do not know which constant to use or if you do not want to specify it, you can use SWT.NULL.
8.2.1. Buttons

A button can have different styles. The style of a button depends on its defined style bit. A list of buttons and their style constants is shown in Table 4.

Table 4. SWT Button style bit constants and examples
Constants Example Description
SWT.ARROW A button to show popup menus etc. Direction of the arrow is determined by the alignment constants.
SWT.CHECK Check boxes can have images as well.
SWT.PUSH A push button.
SWT.RADIO Radio buttons can be used in a group.
SWT.TOGGLE Like SWT.PUSH, but it remains pressed until a second click.

Page 3 of 6

This article was originally published on March 25, 2004

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date