Results 1 to 1 of 1
-
How to create your own dialog classes in SWT
Java Code:import org.eclipse.swt.*; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /** * This class demonstrates how to create your own dialog classes. It allows users * to input a String */ public class InputDialog extends Dialog { private String message; private String input; /** * InputDialog constructor * * @param parent the parent */ public InputDialog(Shell parent) { // Pass the default styles here this(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); } /** * InputDialog constructor * * @param parent the parent * @param style the style */ public InputDialog(Shell parent, int style) { // Let users override the default styles super(parent, style); setText("Input Dialog"); setMessage("Please enter a value:"); } /** * Gets the message * * @return String */ public String getMessage() { return message; } /** * Sets the message * * @param message the new message */ public void setMessage(String message) { this.message = message; } /** * Gets the input * * @return String */ public String getInput() { return input; } /** * Sets the input * * @param input the new input */ public void setInput(String input) { this.input = input; } /** * Opens the dialog and returns the input * * @return String */ public String open() { // Create the dialog window Shell shell = new Shell(getParent(), getStyle()); shell.setText(getText()); createContents(shell); shell.pack(); shell.open(); Display display = getParent().getDisplay(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } // Return the entered value, or null return input; } /** * Creates the dialog's contents * * @param shell the dialog window */ private void createContents(final Shell shell) { shell.setLayout(new GridLayout(2, true)); // Show the message Label label = new Label(shell, SWT.NONE); label.setText(message); GridData data = new GridData(); data.horizontalSpan = 2; label.setLayoutData(data); // Display the input box final Text text = new Text(shell, SWT.BORDER); data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; text.setLayoutData(data); // Create the OK button and add a handler // so that pressing it will set input // to the entered value Button ok = new Button(shell, SWT.PUSH); ok.setText("OK"); data = new GridData(GridData.FILL_HORIZONTAL); ok.setLayoutData(data); ok.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { input = text.getText(); shell.close(); } }); // Create the cancel button and add a handler // so that pressing it will set input to null Button cancel = new Button(shell, SWT.PUSH); cancel.setText("Cancel"); data = new GridData(GridData.FILL_HORIZONTAL); cancel.setLayoutData(data); cancel.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { input = null; shell.close(); } }); // Set the OK button as the default, so // user can type input and press Enter // to dismiss shell.setDefaultButton(ok); } }"The sole cause of man’s unhappiness is that he does not know how to stay quietly in his room." - Blaise Pascal
Similar Threads
-
How to create a Dialog Shell
By Java Tip in forum SWTReplies: 0Last Post: 07-02-2008, 07:52 PM -
Example of SWT Dialog
By Java Tip in forum Java TipReplies: 0Last Post: 01-09-2008, 12:01 PM -
My Preference Dialog
By schuetzejanett in forum EclipseReplies: 3Last Post: 08-10-2007, 10:48 AM -
Dialog Box
By uncopywritable in forum New To JavaReplies: 2Last Post: 07-30-2007, 12:42 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks