Java SWT:复合与外壳



在我之前的一个Java SWT实验室中,它谈到了使用Composites,然后添加main()

public static void main(String[] args){
    Display display = new Display();
    Shell shell = new Shell(display);
    Calculator calc = new Calculator(shell, SWT.NONE);
    calc.pack();
    shell.pack();
    shell.open();
    while(!shell.isDisposed()){
            if(!display.readAndDispatch()) display.sleep();
    }
} 

但为什么要这样做呢。我不应该用贝壳吗?这可能是什么原因?

那么您的问题是为什么要扩展Composite而不应该扩展Shell?好吧,你可以使用任何你想要的方法。但是,如果你把你的东西直接放进shell,那么在其他地方重用这些代码会困难得多。例如,使用Composite作为组件的基类,可以使代码更加可重用(您不能真正将一个Shell放在另一个Composite的中间)。

最新更新