为了账号安全,请及时绑定邮箱和手机立即绑定

Java:无效的线程访问 - 弹出菜单

Java:无效的线程访问 - 弹出菜单

烙印99 2022-01-06 17:33:27
在 eclipse 插件中,我试图创建一个弹出窗口,该窗口在编辑器中激活并根据在弹出窗口中选择的选择将语法添加到字符串中。我有一个编辑类,它扩展了AbstractTextEditor,其中我尝试使用Keylistener弹出一个包含字符串操作函数列表的窗口,然后选择列表中的项目时,我希望用替换一些选定的内容从弹出窗口中的方法返回的新字符串。当我尝试这样做时(使用 2 个链接文件中的代码),我收到以下错误:线程“AWT-EventQueue-0”中的异常 org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4595) at org.eclipse.swt.SWT.error(SWT) .java:4510) 在 org.eclipse.swt.SWT.error(SWT.java:4481) 在 org.eclipse.swt.widgets.Widget.error(Widget.java:451) 在 org.eclipse.swt.widgets。 Widget.checkWidget(Widget.java:369) at org.eclipse.swt.custom.StyledText.getSelectionRange(StyledText.java:4743) at githubflavoredmarkdowneclipseplugin.MarkdownEditor.test(MarkdownEditor.java:140) at autocomplete.AutoComplete$1.keyPressed( AutoComplete.java:50) at java.awt.AWTEventMulticaster.keyPressed(Unknown Source) at java.awt.Component.processKeyEvent(Unknown Source) at javax.swing.JComponent.processKeyEvent(Unknown Source) at java.awt.Component。processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(未知来源) 在 java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) 在 java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) 在 java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) 在 java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown SourceAssertions) ) 在 java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at爪哇。awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at 似乎当 autoupdate 类尝试通知编辑器类已选择更改时,它无法操作 styledText 变量。有谁知道如何解决这一问题?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

您收到该异常的原因是,当您进行与 SWT 相关的 UI 更改时,您必须执行一个可运行的 vis Display.syncExec(myRunable) 否则会发生该异常。


查看完整回答
反对 回复 2022-01-06
  • 1 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信