public class HelloWorld { public static void main(String args[]) { Shell shell = new Shell(); shell.setText("Draw2d Hello World"); shell.pack(); shell.open(); // create content 4 shell. createContent4Shell(shell); while (!shell.isDisposed ()) { if (!Display.getDefault().readAndDispatch ()) Display.getDefault().sleep (); } } private static void createContent4Shell(Shell shell) { IFigure panel = new Panel(); panel.setLayoutManager(new BorderLayout()); panel.add(new Label("CENTER"), BorderLayout.CENTER); panel.add(new Label("TOP"), BorderLayout.TOP); panel.add(new Label("LEFT"), BorderLayout.LEFT); panel.add(new Label("RIGHT"), BorderLayout.RIGHT); panel.add(new Label("BOTTOM"), BorderLayout.BOTTOM); LightweightSystem lws = new LightweightSystem(shell); lws.setContents(panel); } }
这里的BorderLayout布局管理器的用法基本上和AWT中的用法是一样的。SWT中没有BorderLayout布局,BorderLayout可以没有LEFT、RIGHT和BOTTOM,其它会把多余的空间占据。