苹果系统手机调用java线程出错_java – SWT在Mac OSX上无效线程访问(Eclipse Helios)...

我有最简单的所有简单的SWT程序(它甚至不显示你好世界):

package com.samples.swt.first;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

public class Main {

public static void main(String[] args) {

Display display = new Display();

Shell shell = new Shell(display);

shell.open();

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep();

}

}

display.dispose();

}

}

当我从Eclipse Helios在Mac OSX上运行它时,我得到以下错误:

***WARNING: Display must be created on main thread due to Cocoa restrictions.

Exception in thread “main” org.eclipse.swt.SWTException:

Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4282) at

org.eclipse.swt.SWT.error(SWT.java:4197) at

org.eclipse.swt.SWT.error(SWT.java:4168) at

org.eclipse.swt.widgets.Display.error(Display.java:1065) at

org.eclipse.swt.widgets.Display.createDisplay(Display.java:822) at

org.eclipse.swt.widgets.Display.create(Display.java:805) at

org.eclipse.swt.graphics.Device.(Device.java:130) at

org.eclipse.swt.widgets.Display.(Display.java:696) at

org.eclipse.swt.widgets.Display.(Display.java:687) at

com.samples.swt.first.Main.main(Main.java:8)

据我所知,我正在做一切正常.为什么我得到这个错误?它表示Display必须在主线程上创建,并且据我所知,它正在主线程上创建.然后继续谈论线程“主”中的异常…

编辑:

现在,错误已经消失,我从使用swt-debug.jar切换到swt.jar.如果有人知道为什么调试瓶子会导致这个错误我很想知道…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值