0

我对 SWT 编程很陌生。我有一个GridLayout. 当我第一次启动 GUI 时,它只Button在左上角显示一个。如果我调整它的大小(使窗口更大或更小),我会得到我想要的 GUI。我已经修改了构造函数和open()方法,但我所做的每一次更改都没有任何区别。

       // constructor
public MyGuiApp(){
    super();
    shell = new Shell();
    shell.setSize(250, 300);

     // the open method
public void open() {
    Display display = Display.getDefault();
    createContents();
    shell.open();
    shell.setLayout(new GridLayout(2,true));


     // instantiation 
        public static void main(String args[]) {
    try {
        MyGuiApp window = new MyGuiApp();
        window.open();
4

1 回答 1

0

代码应该是:

Display display = Display.getDefault();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(2, true));
createContents(shell);
shell.pack();
shell.open();

您缺少shell.pack();将根据其内容调整外壳大小的选项。


顺便说一句:是一个非常好的模板,几乎可以用作任何 SWT 应用程序的起点。

于 2012-11-27T13:30:47.450 回答