Java/SWT JFace Eclipse/Combo

Материал из Java эксперт
Перейти к: навигация, поиск

Combo (ComboBox) Example

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class SWTComboExample {

 Display d;
 Shell s;
 SWTComboExample() {
   d = new Display();
   s = new Shell(d);
   s.setSize(250, 250);
   s.setText("A Combo Example");
   final Combo c = new Combo(s, SWT.READ_ONLY);
   c.setBounds(50, 50, 150, 65);
   String items[] = { "Item One", "Item Two", "Item Three", "Item Four",
       "Item Five" };
   c.setItems(items);
   s.open();
   while (!s.isDisposed()) {
     if (!d.readAndDispatch())
       d.sleep();
   }
   d.dispose();
 }
 public static void main(String[] argv) {
   new SWTComboExample();
 }

}


      </source>
   
  
 
  



Combo (ComboBox) Example 2

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class ComboExample2 {

 Display d;
 Shell s;
 ComboExample2() {
   d = new Display();
   s = new Shell(d);
   s.setSize(250, 250);
   
   s.setText("A Combo Example");
   final Combo c1 = new Combo(s, SWT.READ_ONLY);
   c1.setBounds(50, 50, 150, 65);
   final Combo c2 = new Combo(s, SWT.READ_ONLY);
   c2.setBounds(50, 85, 150, 65);
   c2.setEnabled(false);
   String items[] = { "Item One", "Item Two", "Item Three", "Item Four",
       "Item Five" };
   c1.setItems(items);
   c1.addSelectionListener(new SelectionAdapter() {
     public void widgetSelected(SelectionEvent e) {
       if (c1.getText().equals("Item One")) {
         String newItems[] = { "Item One A", "Item One B",
             "Item One C" };
         c2.setItems(newItems);
         c2.setEnabled(true);
       } else if (c1.getText().equals("Item Two")) {
         String newItems[] = { "Item Two A", "Item Two B",
             "Item Two C" };
         c2.setItems(newItems);
         c2.setEnabled(true);
       } else {
         c2.add("Not Applicable");
         c2.setText("Not Applicable");
       }
     }
   });
   s.open();
   while (!s.isDisposed()) {
     if (!d.readAndDispatch())
       d.sleep();
   }
   d.dispose();
 }
 public static void main(String[] argv) {
   new ComboExample2();
 }

}

      </source>
   
  
 
  



Create a combo box (non-editable)

   <source lang="java">

/*

* Combo example snippet: create a combo box (non-editable)
*
* For a list of all SWT example snippets see
* http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
*/

import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class Snippet26 {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   Combo combo = new Combo(shell, SWT.READ_ONLY);
   combo.setItems(new String[] { "A", "B", "C" });
   combo.setSize(200, 200);
   shell.pack();
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}

      </source>
   
  
 
  



demonstrates combos (combobox)

   <source lang="java">

//Send questions, comments, bug reports, etc. to the authors: //Rob Warner (rwarner@interspatial.ru) //Robert Harris (rbrt_harris@yahoo.ru) import org.eclipse.swt.SWT; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /**

* This class demonstrates combos
*/

public class ComboExample {

 // Strings to use as list items
 private static final String[] ITEMS = { "Alpha", "Bravo", "Charlie", "Delta",
   "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", "Kilo", "Lima", "Mike",
   "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform",
   "Victor", "Whiskey", "X-Ray", "Yankee", "Zulu"
 };
 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setLayout(new RowLayout());
   
   // Create a drop-down combo
   Combo combo = new Combo(shell, SWT.DROP_DOWN);
   combo.setItems(ITEMS);
   
   // Create a read only combo
   Combo readOnly = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY);
   readOnly.setItems(ITEMS);
   // Create a "simple" combo
   Combo simple = new Combo(shell, SWT.SIMPLE);
   simple.setItems(ITEMS);
   
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}


      </source>
   
  
 
  



DropDown Demo

   <source lang="java">

/******************************************************************************

* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved. 
* 
* Created on Feb 8, 2004 3:43:08 PM by JACK
* $Id$
* 
* visit: http://www.asprise.ru/swt
*****************************************************************************/

import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class DropDownAndSimple {

 Display display = new Display();
 Shell shell = new Shell(display);
 public DropDownAndSimple() {
   init();
   
   RowLayout rowLayout = new RowLayout();
   rowLayout.spacing = 15;
   rowLayout.marginWidth = 15;
   rowLayout.marginHeight = 15;
   
   shell.setLayout(rowLayout);
   
   Combo comboDropDown = new Combo(shell, SWT.DROP_DOWN | SWT.BORDER);
   
   Combo comboSimple = new Combo(shell, SWT.SIMPLE | SWT.BORDER);
   
   for(int i=0; i<3; i++) {
     comboDropDown.add("item " + i);
     comboSimple.add("item " + i);
   }
   shell.pack();
   shell.open();
   //textUser.forceFocus();
   // Set up the event loop.
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       // If no more entries in event queue
       display.sleep();
     }
   }
   display.dispose();
 }
 private void init() {
 }
 public static void main(String[] args) {
   new DropDownAndSimple();
 }

}

      </source>
   
  
 
  



Sample Combo

   <source lang="java">

/******************************************************************************

* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved. 
* 
* Created on Feb 8, 2004 9:25:39 AM by JACK
* $Id$
* 
* visit: http://www.asprise.ru/swt
*****************************************************************************/

import java.util.Arrays; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class SampleCombo {

 Display display = new Display();
 Shell shell = new Shell(display);
 public SampleCombo() {
   init();
   
   shell.setLayout(new GridLayout(2, false));
   
   (new Label(shell, SWT.NULL)).setText("Select your favorite programming language: ");
   
   //final CCombo combo = new CCombo(shell, SWT.FLAT);
   final Combo combo = new Combo(shell, SWT.NULL);
   
   String[] languages = new String[]{"Java", "C", "C++", "SmallTalk"};
   
   Arrays.sort(languages);
   
   for(int i=0; i<languages.length; i++)
     combo.add(languages[i]);
   
   //combo.add("Perl", 5);
   //combo.setItem(5, "Perl");
   
   combo.addSelectionListener(new SelectionListener() {
     public void widgetSelected(SelectionEvent e) {
       System.out.println("Selected index: " + combo.getSelectionIndex() + ", selected item: " + combo.getItem(combo.getSelectionIndex()) + ", text content in the text field: " + combo.getText());
     }
     public void widgetDefaultSelected(SelectionEvent e) {
       System.out.println("Default selected index: " + combo.getSelectionIndex() + ", selected item: " + (combo.getSelectionIndex() == -1 ? "<null>" : combo.getItem(combo.getSelectionIndex())) + ", text content in the text field: " + combo.getText());
       String text = combo.getText();
       if(combo.indexOf(text) < 0) { // Not in the list yet. 
         combo.add(text);
         // Re-sort
         String[] items = combo.getItems();
         Arrays.sort(items);
         combo.setItems(items);
       }
     }
   });
   shell.pack();
   shell.open();
   //textUser.forceFocus();
   // Set up the event loop.
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       // If no more entries in event queue
       display.sleep();
     }
   }
   display.dispose();
 }
 
 private void init() {
 }
 public static void main(String[] args) {
   new SampleCombo();
 }

}


      </source>
   
  
 
  



SWT Combo

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.rubo; import org.eclipse.swt.widgets.ruposite; public class Ch5ComboComposite extends Composite {

 public Ch5ComboComposite(Composite parent) {
   super(parent, SWT.NONE);
   buildControls();
 }
 protected void buildControls() {
   setLayout(new RowLayout());
   int[] comboStyles = { SWT.SIMPLE, SWT.DROP_DOWN, SWT.READ_ONLY };
   for (int idxComboStyle = 0; idxComboStyle < comboStyles.length; ++idxComboStyle) {
     Combo combo = new Combo(this, comboStyles[idxComboStyle]);
     combo.add("Option #1");
     combo.add("Option #2");
     combo.add("Option #3");
   }
 }

}

      </source>