zhaopeinow 2011-10-14 17:55
浏览 263
已采纳

swt 父窗体中打开子窗体问题

SWT 刚开始写,向高手取经

在父窗体中的子窗体代码:
[code="java"]ApiTestPanel api = new ApiTestPanel(url);
api.open();[/code]

子窗体中打开方式(父窗体也是这么打开的)
[code="java"]public void open() {
_shell.open();
while (!_shell.isDisposed()) {
if (!_display.readAndDispatch())
_display.sleep();
}
_display.dispose();
}[/code]
异常如下:
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4083)
at org.eclipse.swt.SWT.error(SWT.java:3998)
at org.eclipse.swt.SWT.error(SWT.java:3969)
at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:766)
at org.eclipse.swt.widgets.Display.create(Display.java:828)
at org.eclipse.swt.graphics.Device.(Device.java:137)
at org.eclipse.swt.widgets.Display.(Display.java:480)
at org.eclipse.swt.widgets.Display.(Display.java:471)
at com.huawei.idac.tools.ui.ApiTestPanel.(ApiTestPanel.java:45)
at com.huawei.idac.tools.ui.ManagePanel$3.widgetSelected(ManagePanel.java:223)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at com.huawei.idac.tools.ui.ManagePanel.open(ManagePanel.java:435)
at com.huawei.idac.tools.Main.main(Main.java:21)

另外还想问一个小问题,SWT中 复选框怎么弄啊?
多谢各位大虾啊!!!!!!

  • 写回答

3条回答 默认 最新

  • hongmei_xp 2011-10-15 12:53
    关注

    SWT checkbox example:
    http://www.java2s.com/Tutorial/Java/0280__SWT/CheckBoxButton.htm

    使用Button,但是Style设置为Check

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器