SWT的GC重复实例化出错,如何解决
SWT中GC使用出错
问题如下,
我在一个主窗口A(拥有一个自己的shell)下点击一个按钮,new一个窗口B(也拥有自己的shell)打开,B窗口内new了一个GC,默认让它去画一张图(Image的),然后随着用户在B窗口中进行操作,会读取并且重画不同的图像。但是当B窗口被第二次打开(关闭,或者直接在A窗口中再点击按钮new一个B窗口打开),都会出现错误让整个程序结束,不知道如何解决。错误代码如下
java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:3547)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java:1963)
at org.eclipse.swt.graphics.GC.<init>(GC.java:153)
at org.eclipse.swt.graphics.GC.<init>(GC.java:119)
at gui.widgets.dialog.FixedNumberCombinationDialog.createContents(FixedNumberCombinationDialog.java:142)
at gui.widgets.dialog.FixedNumberCombinationDialog.open(FixedNumberCombinationDialog.java:62)
142行 gc = new GC(image);
其中的image使static并初始化过的。