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)
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();
}
}
new Shell(Display display, int style)
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();
}
}
new Shell(Shell parent)
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();
}
}
new Shell(shell, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM) (Make shell a dialog)
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();
}
}
Shell: getClientArea()
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();
}
}
Shell: getDisplay()
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();
}
}
Shell: open()
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();
}
}
Shell: setImage(Image img)
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();
}
}
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();
}
}
Shell: setRegion(Region reg)
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;
}
}
Shell: setSize(int width, int height)
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();
}
}