gpt4 book ai didi

java - SWT MessageBox 关闭按钮被禁用

转载 作者:行者123 更新时间:2023-11-29 04:55:17 24 4
gpt4 key购买 nike

我正在为应用程序 UI 使用 Java SWT。当我使用 SWT MessageBox 向用户提问时,我使用:

MessageBox messageBox = new MessageBox(new Shell(Display.getCurrent()), SWT.YES | SWT.NO | SWT.ICON_QUESTION);

但是当对话框打开时,关闭(红色 X 按钮)被禁用。我该怎么做才能启用它?

最佳答案

对不起,这是不可能的。通过查看 Java SWT 的源代码,我调查了:
src/org/eclipse/swt/widgets/MessageBox.java 第 206 行:

OS.MessageBox (hwndOwner, buffer1, buffer2, bits);

使用 JNI 运行 native C 代码:src/os.c 第 8939 行:

rc = (jint)MessageBoxA((HWND)arg0, (LPSTR)lparg1, (LPSTR)lparg2, arg3);

这就是Java SWT 封装的MessageBox 的真正Win32 API 代码。并且不允许启用 [X] 按钮。你可以在这里阅读: Enable Close button in Win 32 Message Box
它仅在您添加 SWT.CANCEL 按钮时启用,然后 [X] 以相同方式运行。

关于java - SWT MessageBox 关闭按钮被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015972/

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