在我以前的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();
    }
}


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

最佳答案

所以你的问题是为什么你应该扩展Composite而不应该扩展Shell?好吧,您可以使用所需的任何方法。但是,如果将您的东西直接放入外壳中,那么在其他地方重用此代码将变得更加困难。例如。使用Composite作为组件的基类,可以使代码更具可重用性(您不能将Shell真正置于另一个Composite的中间)。

10-07 19:21
查看更多