我按照书上的内容 半看半改 写了一个火车票的管理系统
然后发现主页面会闪退 。我简化了主页面 找到了问题根源
下面这段代码
package text;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class she {
private static Display display;
public static void main(String[] args) {
Shell shell=new Shell(display);
shell.setText("Hello world");
Shell dialog=new Shell(shell);
dialog.setSize(300,250);
dialog.open();
}
}
这段代码 会出个 闪退的主页面 为了看清楚情况 我在最后加了个 Thread.sleep(10000);
然后页面会出现10秒(未响应的状态)才关闭
然后我去掉 Thread.sleep(10000)在结尾加上代码
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
直接报错 Exception in thread "main" java.lang.NullPointerException
at main.Main.<init>(Main.java:110)
at main.Main.main(Main.java:121)
我就认为是我的swt的问题了 因为eclipse3.4之后没有自带swt了 我是去下载的 我就找了很对途径 重新下载swt插件。结果还是不行
。
然后发现主页面会闪退 。我简化了主页面 找到了问题根源
下面这段代码
package text;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class she {
private static Display display;
public static void main(String[] args) {
Shell shell=new Shell(display);
shell.setText("Hello world");
Shell dialog=new Shell(shell);
dialog.setSize(300,250);
dialog.open();
}
}
这段代码 会出个 闪退的主页面 为了看清楚情况 我在最后加了个 Thread.sleep(10000);
然后页面会出现10秒(未响应的状态)才关闭
然后我去掉 Thread.sleep(10000)在结尾加上代码
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
直接报错 Exception in thread "main" java.lang.NullPointerException
at main.Main.<init>(Main.java:110)
at main.Main.main(Main.java:121)
我就认为是我的swt的问题了 因为eclipse3.4之后没有自带swt了 我是去下载的 我就找了很对途径 重新下载swt插件。结果还是不行
。