Java by API/org.eclipse.swt.widgets/Shell
Содержание
- 1 new Shell(Display arg0)
- 2 new Shell(Display display, int style)
- 3 new Shell(Shell parent)
- 4 new Shell(shell, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM) (Make shell a dialog)
- 5 Shell: getClientArea()
- 6 Shell: getDisplay()
- 7 Shell: open()
- 8 Shell: setImage(Image img)
- 9 Shell: setMenuBar(Menu menu)
- 10 Shell: setRegion(Region reg)
- 11 Shell: setSize(int width, int height)
new Shell(Display arg0)
<source lang="java">
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(500, 500); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>
new Shell(Display display, int style)
<source lang="java">
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d, SWT.CLOSE | SWT.RESIZE); s.setSize(300,300); s.open(); while(!s.isDisposed()){ if(!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>
new Shell(Shell parent)
<source lang="java">
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(500,500); s.open(); ChildShell cs = new ChildShell(s); while(!s.isDisposed()){ if(!d.readAndDispatch()) d.sleep(); } d.dispose(); }
} class ChildShell {
ChildShell(Shell parent){ Shell child = new Shell(parent); child.setSize(200,200); child.open(); }
}
</source>
new Shell(shell, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM) (Make shell a dialog)
<source lang="java">
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;
public class MainClass {
public static void main(String[] a) { Shell shell = new Shell(new Display()); final Shell dialog = new Shell(shell, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM); dialog.setText("Delete File"); dialog.setSize(250, 150); final Button buttonOK = new Button(dialog, SWT.PUSH); buttonOK.setText("OK"); buttonOK.setBounds(20, 55, 80, 25); Button buttonCancel = new Button(dialog, SWT.PUSH); buttonCancel.setText("Cancel"); buttonCancel.setBounds(120, 55, 80, 25); final Label label = new Label(dialog, SWT.NONE); label.setText("Delete the file?"); label.setBounds(20, 15, 100, 20); Listener listener = new Listener() { public void handleEvent(Event event) { if (event.widget == buttonOK) { System.out.println("OK"); } else { System.out.println("Cancel"); } dialog.close(); } }; buttonOK.addListener(SWT.Selection, listener); buttonCancel.addListener(SWT.Selection, listener); dialog.open(); }
}
</source>
Shell: getClientArea()
<source lang="java">
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display display = new Display(); Shell shell = new Shell(display); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, World"); label.setBounds(shell.getClientArea()); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
}
</source>
Shell: getDisplay()
<source lang="java">
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.graphics.Font; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.FontDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display display = new Display(); // Create the main window final Shell shell = new Shell(display); shell.setLayout(new GridLayout(2, false)); final Label fontLabel = new Label(shell, SWT.NONE); fontLabel.setText("The selected font"); Button button = new Button(shell, SWT.PUSH); button.setText("Font..."); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { // Create the color-change dialog FontDialog dlg = new FontDialog(shell); Font font = null; Color color = null; if (font != null) dlg.setFontList(fontLabel.getFont().getFontData()); if (color != null) dlg.setRGB(color.getRGB()); if (dlg.open() != null) { if (font != null) font.dispose(); if (color != null) color.dispose(); font = new Font(shell.getDisplay(), dlg.getFontList()); fontLabel.setFont(font); color = new Color(shell.getDisplay(), dlg.getRGB()); fontLabel.setForeground(color); shell.pack(); } } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
}
</source>
Shell: open()
<source lang="java">
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(500,500); s.open(); ChildShell cs = new ChildShell(s); while(!s.isDisposed()){ if(!d.readAndDispatch()) d.sleep(); } d.dispose(); }
} class ChildShell {
ChildShell(Shell parent){ Shell child = new Shell(parent); child.setSize(200,200); child.open(); }
}
</source>
Shell: setImage(Image img)
<source lang="java">
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(500,500); s.setImage(new Image(d, "c:\\icons\\yourico.ico")); s.setText("A Shell Example"); s.open(); while(!s.isDisposed()){ if(!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>
<source lang="java">
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setText("A Shell Menu Example"); Menu m = new Menu(s,SWT.BAR ); MenuItem file = new MenuItem(m, SWT.CASCADE); file.setText("File"); Menu filemenu = new Menu(s, SWT.DROP_DOWN); file.setMenu(filemenu); MenuItem openItem = new MenuItem(filemenu, SWT.PUSH); openItem.setText("Open"); MenuItem exitItem = new MenuItem(filemenu, SWT.PUSH); exitItem.setText("Exit"); s.setMenuBar(m); s.open(); while(!s.isDisposed()){ if(!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>
Shell: setRegion(Region reg)
<source lang="java">
import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Region; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display display = new Display(); final Shell shell = new Shell(display); Region region = new Region(); region.add(createCircle(50, 50, 50)); region.subtract(createCircle(50, 50, 20)); shell.setRegion(region); shell.setSize(region.getBounds().width, region.getBounds().height); shell.setBackground(display.getSystemColor(SWT.COLOR_BLUE)); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } static int[] createCircle(int xOffset, int yOffset, int radius) { int[] circlePoints = new int[10 * radius]; for (int loopIndex = 0; loopIndex < 2 * radius + 1; loopIndex++) { int xCurrent = loopIndex - radius; int yCurrent = (int) Math.sqrt(radius * radius - xCurrent * xCurrent); int doubleLoopIndex = 2 * loopIndex; circlePoints[doubleLoopIndex] = xCurrent + xOffset; circlePoints[doubleLoopIndex + 1] = yCurrent + yOffset; circlePoints[10 * radius - doubleLoopIndex - 2] = xCurrent + xOffset; circlePoints[10 * radius - doubleLoopIndex - 1] = -yCurrent + yOffset; } return circlePoints; }
}
</source>
Shell: setSize(int width, int height)
<source lang="java">
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(500, 500); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>