Demonstrates various listeners : Event « SWT JFace Eclipse « Java

Java
1. 2D Graphics GUI
2. 3D
3. Advanced Graphics
4. Ant
5. Apache Common
6. Chart
7. Collections Data Structure
8. Database SQL JDBC
9. Design Pattern
10. Development Class
11. Email
12. Event
13. File Input Output
14. Game
15. Hibernate
16. J2EE
17. J2ME
18. JDK 6
19. JSP
20. JSTL
21. Language Basics
22. Network Protocol
23. PDF RTF
24. Regular Expressions
25. Security
26. Servlets
27. Spring
28. Swing Components
29. Swing JFC
30. SWT JFace Eclipse
31. Threads
32. Tiny Application
33. Velocity
34. Web Services SOA
35. XML
Microsoft Office Word 2007 Tutorial
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Java » SWT JFace Eclipse » EventScreenshots 
Demonstrates various listeners
Demonstrates various listeners


//Send questions, comments, bug reports, etc. to the authors:

//Rob Warner (rwarner@interspatial.com)
//Robert Harris (rbrt_harris@yahoo.com)

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

/**
 * This class demonstrates various listeners
 */
public class MultipleListenersExample implements HelpListener, VerifyListener,
    ModifyListener {

  // Constants used for conversions
  private static final double FIVE_NINTHS = 5.0 9.0;
  private static final double NINE_FIFTHS = 9.0 5.0;

  // Widgets used in the window
  private Text fahrenheit;
  private Text celsius;
  private Label help;

  /**
   * Runs the application
   */
  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Temperatures");
    createContents(shell);
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }

  /**
   * Create the main window's contents
   @param shell the main window
   */
  private void createContents(Shell shell) {
    shell.setLayout(new GridLayout(3true));

    // Create the label and input box for Fahrenheit
    new Label(shell, SWT.LEFT).setText("Fahrenheit:");
    fahrenheit = new Text(shell, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    fahrenheit.setLayoutData(data);

    // Set the context-sensitive help
    fahrenheit.setData("Type a temperature in Fahrenheit");

    // Add the listeners
    fahrenheit.addHelpListener(this);
    fahrenheit.addVerifyListener(this);
    fahrenheit.addModifyListener(this);

    // Create the label and input box for Celsius
    new Label(shell, SWT.LEFT).setText("Celsius:");
    celsius = new Text(shell, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    celsius.setLayoutData(data);

    // Set the context-sensitive help
    celsius.setData("Type a temperature in Celsius");

    // Add the listeners
    celsius.addHelpListener(this);
    celsius.addVerifyListener(this);
    celsius.addModifyListener(this);

    // Create the area for help
    help = new Label(shell, SWT.LEFT | SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 3;
    help.setLayoutData(data);
  }

  /**
   * Called when user requests help
   */
  public void helpRequested(HelpEvent event) {
    // Get the help text from the widget and set it into the help label
    help.setText((Stringevent.widget.getData());
  }

  /**
   * Called when the user types into a text box, but before the text box gets
   * what the user typed
   */
  public void verifyText(VerifyEvent event) {
    // Assume we don't allow it
    event.doit = false;

    // Get the character typed
    char myChar = event.character;
    String text = ((Textevent.widget).getText();

    // Allow '-' if first character
    if (myChar == '-' && text.length() == 0event.doit = true;

    // Allow 0-9
    if (Character.isDigit(myChar)) event.doit = true;

    // Allow backspace
    if (myChar == '\b'event.doit = true;
  }

  /**
   * Called when the user modifies the text in a text box
   */
  public void modifyText(ModifyEvent event) {
    // Remove all the listeners, so we don't enter any infinite loops
    celsius.removeVerifyListener(this);
    celsius.removeModifyListener(this);
    fahrenheit.removeVerifyListener(this);
    fahrenheit.removeModifyListener(this);

    // Get the widget whose text was modified
    Text text = (Textevent.widget;

    try {
      // Get the modified text
      int temp = Integer.parseInt(text.getText());

      // If they modified fahrenheit, convert to Celsius
      if (text == fahrenheit) {
        celsius.setText(String.valueOf((int) (FIVE_NINTHS * (temp - 32))));
      else {
        // Convert to fahrenheit
        fahrenheit.setText(String.valueOf((int) (NINE_FIFTHS * temp + 32)));
      }
    catch (NumberFormatException e) { /* Ignore */ }

    // Add the listeners back
    celsius.addVerifyListener(this);
    celsius.addModifyListener(this);
    fahrenheit.addVerifyListener(this);
    fahrenheit.addModifyListener(this);
  }

  /**
   * The application entry point
   @param args the command line arguments
   */
  public static void main(String[] args) {
    new MultipleListenersExample().run();
  }
}


           
       
Related examples in the same category
1. ModifyEvent: Temperature Converter JFaceModifyEvent: Temperature Converter JFace
2. Mouse Event Listener Mouse Event Listener
3. Utility class for event handling
4. Demonstrates mouse eventsDemonstrates mouse events
5. Demonstrates ControlListenersDemonstrates ControlListeners
6. SelectionListener and DisposeListenerSelectionListener and DisposeListener
7. Demonstrates FocusListenerDemonstrates FocusListener
8. Demonstrates LineBackgroundListenersDemonstrates LineBackgroundListeners
9. Key Listener Example
w___ww__.j_a_v__a___2s_.__c__o__m__ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.