gpt4 book ai didi

java - SWT - MessageDialog - 外壳

转载 作者:行者123 更新时间:2023-11-29 09:49:25 25 4
gpt4 key购买 nike

我有一个没有图形用户界面的操作类。该类主要是做数据管理。该类是从我的主 GUI 中的方法调用的。我遇到的问题是在出现故障时向用户显示消息。我正在使用 MessageDialog,但它在运行时一直失败。我认为问题出在壳牌。当我尝试使用 null 作为 shell 时。

MessageDialog.openError(null, "Printer Error Message", "Error getting print reply file.");

错误是空指针异常

MessageDialog.openError(Display.getCurrent().getActiveShell() etc

错误是空指针异常

MessageDialog.openError(Display.getDefault().getActiveShell()

错误是无效的线程访问

  1. 因为这不是 GUI 类,我是否必须从 GUI 父类传入 shell?
  2. 我可以只在类中创建一个 shell 然后使用它吗?

最佳答案

您可以使用 Display.syncExec 修复 ERROR_THREAD_INVALID_ACCESS 错误或 Display.asyncExec .尝试:

Display.syncExec(new Runnable() {
void run() {
MessageDialog.openError(Display.getDefault().getActiveShell()...
}
}

关于java - SWT - MessageDialog - 外壳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com