代码很简单,如下所示: 复制代码 代码如下:package swt_jface.demo1; import org.eclipse.swt.SW编程客栈T; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class Main { public static v编程客栈oid main(String[] args) { Display display = new Display(); Image small = new Image(display, 16, 16); GC gc = new GC(small); gc.setBackground(display.getSystemColor(SWT.COLOR_RED)); gc.fillArc(0, 0, 16, 16, 45, 270); gc.dispose(); Image large = new Image(display, 32, 32); gc = new GC(large); gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE)); gc.fillArc(0, 0, 32, 32, 45, 270); gc.dispose(); Shell shell = new Shell(display); shell.setText("Small and Large icons"); shell.setImages(new Image[] {small, large}); Shell shell2 = new Shell(display); shell2.setText("Small icon"); shell2.setImage(small); shell.open(); shell2.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } }下面是打开子画面的代码: 复制代码 代码如下:package swt_jface.demo1; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import or开发者_JAVA教程g.eclipse.swt.widgets.Shell; public class DialogShell { public DialogShell() { Displa编程客栈y display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new RowLayout()); shell.setSize(500, 200); final Button openDialog = new Button(shell, SWT.PUSH); openDialog.setText("Click here to rate this book ..."); openDialog.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); dialog.setLayout(new RowLayout()); final Strhttp://www.devze.coming[] ratings = new String[] {"Killer!", "Good stuff", "So-sonSToD", "Needs work" }; final Button[] radios = new Button[ratings.length]; for (int i = 0; i < ratings.length; i++) { radios[i] = new Button(dialog, SWT.RADIO); radios[i].setText(ratings[i]); } Button rateButton = new Button(dialog, 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()) openDialog.setText("Rating: " + ratings[i]); dialog.close(); } public void widgetDefaultSelected(SelectionEvent e) { } }); dialog.pack(); dialog.open(); Rectangle shellBounds = shell.getBounds(); Point dialogSize = dialog.getSize(); dialog.setLocation(shellBounds.x + (shellBounds.width - dialogSize.x) / 2, shellBounds.y + (shellBounds.height - dialogSize.y) / 2); } public void widgetDefaultSelected(SelectionEvent e) { } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static void main(String[] args) { new DialogShell(); } }
精彩评论