gamelan
Search EarthWeb
CodeGuru | Gamelan | Jars | Wireless | Discussions
Navigate developer.com
Architecture & Design  
Database  
Java
Languages & Tools
Microsoft & .NET
Open Source  
Project Management  
Security  
Techniques  
Voice  
Web Services  
Wireless/Mobile
XML  
New
 
Technology Jobs  

   Developer.com Webcasts:
  The Impact of Coding Standards and Code Reviews

  Project Management for the Developer

  Defining Your Own Software Development Methodology

  more Webcasts...




Vote for the Developer.com Product of the Year Winners!




Developer Jobs

Be a Commerce Partner














 


Developer News -
Are We Ready for the Cloud?    November 7, 2008
Windows 7 Drivers to Get a Makeover    November 6, 2008
Sun Serves Up Some Java EE 6 in GlassFish    November 6, 2008
Devs Dish Some iPhone App Tips    November 5, 2008
Free Tech Newsletter -

SWT Programming with Eclipse
By Koray Guclu

Go to page: Prev  1  2  3  4  5  6  Next  

8.3. Composite Widgets

Composite widgets can contain other composite widgets. The Composite class is the parent class of the composite widgets.

Figure 10. Composite can contain other composite classes.

Composite classes can contain other composite classes. This containment is built up by using the constructor of a composite widget class. In contrast to Swing, there is no add() method; instead, you must use constructors to build up a containment structure.

As can be seen from Figure 10, the Shell class is also a composite class. That is to say, the Shell object can contain other composite classes.

Composite widgets are Scrollable, which means that it is possible to add scrolls to the composite widgets by using the SWT.H_SCROLL and SWT.V_SCROLL constants.

8.3.1. Table widget

A Table widget can display a set of String items or Images. In contrast to other composite widgets, it is not possible to add composite controls to the table widget. A sub component of a table widget must be of the TableItem type.

Figure 11. Table widget.

The constants in Table 7 can be used with the table widget.

Table 7. SWT Table style bit constants
SWT.MULTI
SWT.SINGLE
Enables a single or multi selection
SWT.FULL_SELECTION Enables full row selection
SWT.CHECK Displays a check box at the beginning of each row

The code snippet in Source 8 shows a table widget usage containing two columns.

Source 8. Table widget example
  final Table table =
    new Table(shell,SWT.SINGLE);
  TableColumn col1  =
    new TableColumn(table,SWT.LEFT);
  col1.setText("Coloumn 1");
  col1.setWidth(80);
  TableColumn col2  =
    new TableColumn(table,SWT.LEFT);
  col2.setText("Coloumn 2");
  col2.setWidth(80);

  TableItem item1 = new TableItem(table,0);
  item1.setText(new String[]{"a","b"});
  TableItem item2 = new TableItem(table,0);
  item2.setText(new String[]{"a","b"});

  table.setHeaderVisible(true);
  table.setLinesVisible(true);
8.3.2. Combo widget

A Combo widget allows users to select a value from a list of values or optionally enter a new value. The combo widget is similar to the List widget, but it uses a limited space.

Although the combo widget is a composite, it does not make sense to add child elements to it. Its elements must be of the String type. An element to a combo widget can be added by using the add(String element) method defined in the combo class.

     

Figure 12. Combo boxes in different styles.

The following SWT constants can be used with the Combo widget.

Table 8. SWT Combo style bit constants
SWT.DROP_DOWN Drop-down combo box
SWT.READ_ONLY Read-only combo box
SWT.SIMPLE Simple combo box (not drop-down combo box). See Figure 11.

The following example shows a Combo widget's usage.

Source 9. Combo example
 final Combo combo =
   new Combo(shell,SWT.DROP_DOWN);
 for (int i = 1; i < 11; i++)
 {
   combo.add(i+".) element ");
 }
 combo.setText("Text");
 combo.addSelectionListener(
  new SelectionAdapter()
  {
    public void widgetSelected(SelectionEvent e)
    {
      System.out.println("Selection:"+
                         combo.getText());
    }
  }
 );
8.3.3. Tree widget

A Tree widget represents a selectable hierarchy of items in a tree. Altough the Three class is a composite, it is not allowed to add composite classes to the Three class. Sub items of a Tree class must be of the ThreeItem type.

     

Figure 13. Tree widgets in different styles.

The following table shows a list of Tree widget constants.

Table 9. SWT Combo style bit constants
SWT.SINGLE
SWT.MULTI
Allows single or multiple selections
SWT.CHECK shows a check box at the begining of each node

A simple Tree widget example is shown below.

Source 10. Tree example
 final Tree tree =
   new Tree(shell,SWT.SINGLE);
 for (int i = 1; i < 11; i++)
 {
   final TreeItem item1  =
    new TreeItem(tree,SWT.NULL);
   item1.setText("node "+i);
   for (int j = 1; j < 6; j++)
   {
     final TreeItem item11 = 
      new TreeItem(item1,SWT.NULL);
     item11.setText("node "+i+"."+j);
   }
 }

 tree.addSelectionListener(
  new SelectionAdapter()
  {
   public void widgetSelected(SelectionEvent e)
   {
     System.out.println("Selection:"+
                   tree.getSelection()[0]);
   }
  }
 );

Go to page: Prev  1  2  3  4  5  6  Next  

Previous article: A First Look at Eclipse Plug-In Programming
Next article: Constructing SWT Layouts


Tools:
Add www.developer.com to your favorites
Add www.developer.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed


Other Java Archives






internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers