Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 188113 Details for
Bug 336033
Slow ModifyListener response
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
RAPSlowListenerExample
MultipleListenersExample.java (text/x-java), 3.08 KB, created by
Timothy Arceri
on 2011-02-02 00:40:51 EST
(
hide
)
Description:
RAPSlowListenerExample
Filename:
MIME Type:
Creator:
Timothy Arceri
Created:
2011-02-02 00:40:51 EST
Size:
3.08 KB
patch
obsolete
>package org.test; >//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 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(3, true)); > > // 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.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"); > > // 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 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 > fahrenheit.removeModifyListener(this); > > // Get the widget whose text was modified > Text text = (Text) event.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 > fahrenheit.addModifyListener(this); > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 336033
: 188113