Java/SWT JFace Eclipse/Button
Содержание
Arrow Button Example
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.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class ArrowButtonExample {
Display d;
Shell s;
ArrowButtonExample() {
d = new Display();
s = new Shell(d);
s.setSize(250, 250);
s.setText("A Button Example");
final Button b1 = new Button(s, SWT.ARROW | SWT.UP);
b1.setBounds(100, 55, 20, 15);
final Button b2 = new Button(s, SWT.ARROW | SWT.DOWN);
b2.setBounds(100, 70, 20, 15);
final Text t1 = new Text(s, SWT.BORDER | SWT.SINGLE | SWT.CENTER);
t1.setBounds(80, 55, 20, 30);
t1.setText("1");
t1.selectAll();
b1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
int n = new Integer(t1.getText()).intValue();
n++;
t1.setText(new Integer(n).toString());
t1.selectAll();
}
});
b2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
int n = new Integer(t1.getText()).intValue();
n--;
t1.setText(new Integer(n).toString());
t1.selectAll();
}
});
s.open();
while (!s.isDisposed()) {
if (!d.readAndDispatch())
d.sleep();
}
d.dispose();
}
public static void main(String[] argv) {
new ArrowButtonExample();
}
}
Button Example
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SWTButtonExample {
Display d;
Shell s;
SWTButtonExample() {
d = new Display();
s = new Shell(d);
s.setSize(150, 150);
s.setText("A Button Example");
final Button b1 = new Button(s, SWT.PUSH);
b1.setBounds(50, 50, 75, 40);
b1.setText("Push Me");
s.open();
while (!s.isDisposed()) {
if (!d.readAndDispatch())
d.sleep();
}
d.dispose();
}
public static void main(String[] argv) {
new SWTButtonExample();
}
}
Button Selection Event
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Gui_4 {
/**
* user code fields V4ALL Entry Level
*/
//user code begin FIELDS {1} Swing
//user code end
//user code begin FIELDS {1} SWT
//user code end
//user code begin FIELDS {1} HTML
//user code end
//user code begin FIELDS {1} Eclipse
//user code end
//user code begin FIELDS {1} C#
//user code end
/**
* user code methods V4ALL Entry Level
*/
//user code begin METHODS {1} Swing
//user code end
//user code begin METHODS {1} SWT
//user code end
//user code begin METHODS {1} HTML
//user code end
//user code begin METHODS {1} Eclipse
//user code end
//user code begin METHODS {1} C#
//user code end
public void processEvent() {
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
ivjLabel100.setText("No worries.");
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
}
/**
* Initializes connections
*
* @exception java.lang.Exception
* The exception description.
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initConnections() throws java.lang.Exception {
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
// user code begin {2} Swing
// user code end
// user code begin {2} SWT
// user code end
// user code begin {2} HTML
// user code end
// user code begin {2} Eclipse
// user code end
// user code begin {2} C#
// user code end
}
/**
* Return the Frame100 property value.
*
* @return Shell
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public Shell getFrame100() {
if (ivjFrame100 == null) {
try {
Display display = new Display();
ivjFrame100 = new Shell(display);
ivjFrame100.setBounds(47, 55, 365, 184);
ivjFrame100.setForeground(new Color(null, 0, 0, 0));
int height = java.awt.Toolkit.getDefaultToolkit()
.getScreenSize().height;
int width = java.awt.Toolkit.getDefaultToolkit()
.getScreenSize().width;
ivjFrame100.setLocation(width / 2 - 365 / 2,
height / 2 - 184 / 2);
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
handleException(ivjExc);
}
}
return ivjFrame100;
}
/**
* V4ALL Entry Level Return the Button100 property value.
*
* @return Buttonl
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Button getButton100() {
if (ivjButton100 == null) {
try {
ivjButton100 = new Button(getFrame100(), SWT.NULL);
ivjButton100.setText("Click Me");
ivjButton100.setBounds(80, 76, 85, 25);
ivjButton100.setForeground(new Color(null, 0, 0, 0));
ivjButton100.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
processEvent();
// user code begin {3} SWT
// user code end
};
});
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2} Swing
// user code end
// user code begin {2} SWT
// user code end
// user code begin {2} HTML
// user code end
// user code begin {2} Eclipse
// user code end
// user code begin {2} C#
// user code end
handleException(ivjExc);
}
}
return ivjButton100;
}
/**
* V4ALL Entry Level Return the Label100 property value.
*
* @return org.eclipse.swt.widgets.Labell
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private org.eclipse.swt.widgets.Label getLabel100() {
if (ivjLabel100 == null) {
try {
ivjLabel100 = new org.eclipse.swt.widgets.Label(getFrame100(),
SWT.NULL);
ivjLabel100.setText(" ");
ivjLabel100.setBounds(218, 76, 82, 23);
ivjLabel100.setForeground(new Color(null, 0, 0, 0));
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2} Swing
// user code end
// user code begin {2} SWT
// user code end
// user code begin {2} HTML
// user code end
// user code begin {2} Eclipse
// user code end
// user code begin {2} C#
// user code end
handleException(ivjExc);
}
}
return ivjLabel100;
}
/**
* Initialize the class.
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initialize() {
try {
// user code begin {1} Swing
// user code end
// user code begin {1} SWT
// user code end
// user code begin {1} HTML
// user code end
// user code begin {1} Eclipse
// user code end
// user code begin {1} C#
// user code end
initConnections();
// user code begin {2} Swing
// user code end
// user code begin {2} SWT
// user code end
// user code begin {2} HTML
// user code end
// user code begin {2} Eclipse
// user code end
// user code begin {2} C#
// user code end
} catch (java.lang.Throwable ivjExc) {
handleException(ivjExc);
}
}
/**
* V4ALL Entry Level Called whenever the part throws an exception.
*
* @param exception
* java.lang.Throwable
*/
private void handleException(java.lang.Throwable exception) {
/* Uncomment the following lines to print uncaught exceptions to stdout */
// System.out.println("--------- UNCAUGHT EXCEPTION ---------");
// exception.printStackTrace(System.out);
}
private Shell ivjFrame100 = null;
private Button ivjButton100 = null;
private org.eclipse.swt.widgets.Label ivjLabel100 = null;
/**
* Gui_4 constructor comment.
*
* @param title
* java.lang.String
*/
public Gui_4(String title) {
getFrame100().setText(title);
}
/**
* main entrypoint - starts the part when it is run as an application
*
* @param args
* java.lang.String[]
*/
public static void main(java.lang.String[] args) {
try {
Gui_4 aGui_4;
aGui_4 = new Gui_4("Frame");
aGui_4.getFrame100();
aGui_4.getButton100();
aGui_4.getLabel100();
aGui_4.getFrame100().open();
while (!aGui_4.getFrame100().isDisposed()) {
if (!aGui_4.getFrame100().getDisplay().readAndDispatch())
aGui_4.getFrame100().getDisplay().sleep();
}
aGui_4.getFrame100().dispose();
} catch (Throwable exception) {
System.err
.println("Exception occurred in main() of javax.swing.JFrame");
exception.printStackTrace(System.out);
}
}
}
Button Styles
/******************************************************************************
* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved.
*
* Created on Jan 26, 2004 7:38:13 PM by JACK
* $Id$
*
* visit: http://www.asprise.ru/swt
*****************************************************************************/
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ButtonStyles {
public ButtonStyles() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(5, true));
Button arrowButton = new Button(shell, SWT.ARROW);
arrowButton.setText("&Arrow Button");
Button checkButton = new Button(shell, SWT.CHECK);
checkButton.setText("&Check Button");
Button pushButton = new Button(shell, SWT.PUSH);
pushButton.setText("&Push Button");
Button radioButton = new Button(shell, SWT.RADIO);
radioButton.setText("&Radio Button");
Button toggleButton = new Button(shell, SWT.TOGGLE);
toggleButton.setText("&Toggle Button");
// shell.pack();
shell.setSize(500, 100);
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 ButtonStyles();
}
}
Default Button
/******************************************************************************
* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved.
*
* Created on Jan 25, 2004 11:46:01 PM by JACK
* $Id$
*
* visit: http://www.asprise.ru/swt
*****************************************************************************/
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SWTDefaultButton {
public SWTDefaultButton() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new RowLayout());
final String[] ratings =
new String[] { "Killer!", "Good stuff", "So-so", "Needs work" };
final Button[] radios = new Button[ratings.length];
for (int i = 0; i < ratings.length; i++) {
radios[i] = new Button(shell, SWT.RADIO);
radios[i].setText(ratings[i]);
}
Button cancelButton = new Button(shell, SWT.PUSH);
cancelButton.setText("Canel");
Button rateButton = new Button(shell, SWT.PUSH);
rateButton.setText("Rate!");
rateButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
for (int i = 0; i < radios.length; i++)
if (radios[i].getSelection())
System.out.println("Rating: " + ratings[i]);
}
public void widgetDefaultSelected(SelectionEvent e) {
System.out.println("Default selection");
}
});
shell.setDefaultButton(rateButton);
System.out.println(shell.getDefaultButton());
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();
}
public static void main(String[] args) {
new SWTDefaultButton();
}
}
Demonstrates Buttons
//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 Buttons
*/
public class ButtonExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(3, true));
// Create three push buttons
new Button(shell, SWT.PUSH).setText("Push 1");
new Button(shell, SWT.PUSH).setText("Push 2");
new Button(shell, SWT.PUSH).setText("Push 3");
// Create three checkboxes
new Button(shell, SWT.CHECK).setText("Checkbox 1");
new Button(shell, SWT.CHECK).setText("Checkbox 2");
new Button(shell, SWT.CHECK).setText("Checkbox 3");
// Create three toggle buttons
new Button(shell, SWT.TOGGLE).setText("Toggle 1");
new Button(shell, SWT.TOGGLE).setText("Toggle 2");
new Button(shell, SWT.TOGGLE).setText("Toggle 3");
// Create three radio buttons
new Button(shell, SWT.RADIO).setText("Radio 1");
new Button(shell, SWT.RADIO).setText("Radio 2");
new Button(shell, SWT.RADIO).setText("Radio 3");
// Create three flat buttons
new Button(shell, SWT.FLAT).setText("Flat 1");
new Button(shell, SWT.FLAT).setText("Flat 2");
new Button(shell, SWT.FLAT).setText("Flat 3");
// Create three arrow buttons
new Button(shell, SWT.ARROW);
new Button(shell, SWT.ARROW | SWT.LEFT);
new Button(shell, SWT.ARROW | SWT.DOWN);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
Icon Selector
/******************************************************************************
* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved.
*
* Created on Jan 5, 2004 2:15:34 PM by JACK
* $Id$
*
* visit: http://www.asprise.ru/swt
*****************************************************************************/
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.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class IconSelector {
Display display = new Display();
Shell shell = new Shell(display);
Label labelIconFile;
Text textIconFile;
Button buttonIconBrowse;
Button buttonSetIcon;
Image shellIcon;
Image buttonIcon;
public IconSelector() {
initializeUI();
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 initializeUI() {
GridLayout gridLayout = new GridLayout(3, false);
shell.setLayout(gridLayout);
// Adds components to the first row.
labelIconFile = new Label(shell, SWT.NULL);
textIconFile = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.grabExcessHorizontalSpace = true;
textIconFile.setLayoutData(gridData);
buttonIconBrowse = new Button(shell, SWT.PUSH);
// last row.
gridData = new GridData();
gridData.horizontalSpan = 3;
gridData.horizontalAlignment = GridData.CENTER;
buttonSetIcon = new Button(shell, SWT.PUSH);
buttonSetIcon.setLayoutData(gridData);
shell.setText("Icon Selector");
labelIconFile.setText("Select an icon:");
buttonIconBrowse.setText("Browse");
buttonSetIcon.setText("Set Icon");
// Register listeners.
buttonIconBrowse.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
String file = dialog.open();
if (file != null) {
textIconFile.setText(file);
}
}
});
buttonSetIcon.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if(shellIcon != null)
shellIcon.dispose();
try {
shellIcon = new Image(display, textIconFile.getText());
shell.setImage(shellIcon);
}catch(Exception ex) {
ex.printStackTrace();
}
}
});
}
public static void main(String[] args) {
IconSelector iconSelector = new IconSelector();
}
}
Image Button
/******************************************************************************
* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved.
*
* Created on Jan 26, 2004 8:19:53 PM by JACK
* $Id$
*
* visit: http://www.asprise.ru/swt
*****************************************************************************/
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ImageButton {
Display display = new Display();
Shell shell = new Shell(display);
Image image = new Image(display, "jexp.gif");
public ImageButton() {
//shell.setLayout(new RowLayout());
Button button = new Button(shell, SWT.PUSH);
button.setBounds(10, 10, 200, 200);
button.setImage(image);
button.setText("button");
System.out.println(button.getImage());
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 ImageButton();
}
}
Make a toggle button have radio behavior
/*
* Make a toggle button have radio behavior
*
* 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.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
public class Snippet169 {
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Listener listener = new Listener() {
public void handleEvent(Event e) {
Control[] children = shell.getChildren();
for (int i = 0; i < children.length; i++) {
Control child = children[i];
if (e.widget != child && child instanceof Button
&& (child.getStyle() & SWT.TOGGLE) != 0) {
((Button) child).setSelection(false);
}
}
((Button) e.widget).setSelection(true);
}
};
for (int i = 0; i < 20; i++) {
Button button = new Button(shell, SWT.TOGGLE);
button.setText("B" + i);
button.addListener(SWT.Selection, listener);
if (i == 0)
button.setSelection(true);
}
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Set the default button
/*
* Button example snippet: set the default button
*
* 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.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class Snippet108 {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Label label = new Label(shell, SWT.NONE);
label.setText("Enter your name:");
Text text = new Text(shell, SWT.BORDER);
text.setLayoutData(new RowData(100, SWT.DEFAULT));
Button ok = new Button(shell, SWT.PUSH);
ok.setText("Ok");
Button cancel = new Button(shell, SWT.PUSH);
cancel.setText("Cancel");
shell.setDefaultButton(cancel);
shell.setLayout(new RowLayout());
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
SWT Button
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* @author Steven Holzner
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class ButtonClass {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(200, 200);
shell.setText("Button Example");
final Button button = new Button(shell, SWT.PUSH);
button.setBounds(40, 50, 50, 20);
button.setText("Click Me");
final Text text = new Text(shell, SWT.BORDER);
text.setBounds(100, 50, 70, 20);
button.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent event) {
text.setText("No problem");
}
public void widgetDefaultSelected(SelectionEvent event) {
text.setText("No worries!");
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
SWT Button Action
/*
* Created on Nov 20, 2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* @author Steven Holzner
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class SWTButtonAction {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(200, 200);
shell.setText("Dialogs");
shell.open();
final Button opener = new Button(shell, SWT.PUSH);
opener.setText("Click Me");
opener.setBounds(20, 20, 50, 25);
final Text text = new Text(shell, SWT.SHADOW_IN);
text.setBounds(80, 20, 100, 25);
final Shell dialog = new Shell(shell, SWT.APPLICATION_MODAL
| SWT.DIALOG_TRIM);
dialog.setText("Dialog");
dialog.setSize(150, 100);
final Label label = new Label(dialog, SWT.NONE);
label.setText("OK to proceed?");
label.setBounds(35, 5, 100, 20);
final Button okButton = new Button(dialog, SWT.PUSH);
okButton.setBounds(20, 35, 40, 25);
okButton.setText("OK");
Button cancelButton = new Button(dialog, SWT.PUSH);
cancelButton.setBounds(70, 35, 40, 25);
cancelButton.setText("Cancel");
final boolean[] response = new boolean[1];
response[0] = true;
Listener listener = new Listener() {
public void handleEvent(Event event) {
if (event.widget == okButton) {
response[0] = true;
} else {
response[0] = false;
}
dialog.close();
}
};
okButton.addListener(SWT.Selection, listener);
cancelButton.addListener(SWT.Selection, listener);
Listener openerListener = new Listener() {
public void handleEvent(Event event) {
dialog.open();
}
};
opener.addListener(SWT.Selection, openerListener);
while (!dialog.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
if (response[0]) {
text.setText("You clicked OK");
} else {
text.setText("You clicked Cancel");
}
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
SWT Button Example Demo
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* @author Steven Holzner
*
*/
public class SWTButtonExampleDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(300, 200);
shell.setText("Button Example");
shell.setLayout(new RowLayout());
final Button button = new Button(shell, SWT.PUSH);
button.setText("Click Me");
final Text text = new Text(shell, SWT.SHADOW_IN);
button.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent event) {
text.setText("No worries!");
}
public void widgetDefaultSelected(SelectionEvent event) {
text.setText("No worries!");
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Widget Styles
/******************************************************************************
* Copyright (c) 1998, 2004 Jackwind Li Guojie
* All right reserved.
*
* Created on Jan 23, 2004 8:56:30 PM by JACK
* $Id$
*
* visit: http://www.asprise.ru/swt
*****************************************************************************/
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class WidgetStyles {
Display display = new Display();
Shell shell = new Shell(display);
Button button;
public WidgetStyles() {
init();
shell.pack();
shell.open();
System.out.println("Bounds: " + button.getBounds() );
System.out.println("computeSize: " + button.ruputeSize(100, SWT.DEFAULT));
System.out.println("computeSize: " + button.ruputeSize(40, SWT.DEFAULT));
System.out.println("computeSize: " + button.ruputeSize(SWT.DEFAULT, 100));
System.out.println("computeSize: " + button.ruputeSize(SWT.DEFAULT, 20));
System.out.println("computeSize: " + button.ruputeSize(SWT.DEFAULT, 15));
System.out.println("computeSize: " + button.ruputeSize(100, 200));
System.out.println("computeSize: " + button.ruputeSize(SWT.DEFAULT, SWT.DEFAULT));
System.out.println("toControl: " + button.toControl(100, 200));
System.out.println("toDisplay: " + button.toDisplay(100, 200));
shell.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
System.out.println(e.widget + " disposed");
}
});
// 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() {
shell.setLayout(new GridLayout());
button = new Button(shell, SWT.PUSH | SWT.LEFT);
button.setText("Button");
}
public static void main(String[] args) {
new WidgetStyles();
}
}