0

正如标题所说,当我调用实例的方法open时,什么也没有发生。MessageBox这是代码:

Shell dialog = new Shell(SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.ON_TOP);
shell.open();

在此对话框中,一些操作让我打开此消息框:

MessageBox box = new MessageBox(dialog, SWT.ICON_WARNING | SWT.OK);
box.setText("Warning");
box.setMessage(label);
box.open();

我在带有 Unity (Ubuntu2D) 和 Compiz 0.9.6 以及 OpenJDK 1.7.0_147 的 Ubuntu 11.10 上为 RCP 和 RAP 开发人员使用 Eclipse Indigo 3.7.2。这里这里有一些解决这个问题的技巧,(通过设置环境变量来修复GDK_NATIVE_WINDOWS),但没有任何效果。

4

3 回答 3

0

也许您可以包含更多关于您的运行配置和您使用的语言的信息,尽管我假设 java.... 此外,您不必费心加载整个代码,只加载一个片段。如果代码相对较短,500 行或更少,请将其发布在键盘或其他东西上。

但是,如果这是一个 java 项目,那么这就是您现在显示消息框的方式。在这里寻找: http: //docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

于 2012-04-20T09:00:28.697 回答
0

好的,我解决了。由于某些原因,在 Linux 下,消息框绘制使用标志创建的组件下方SWT.ON_TOP(在 Windows 下,消息框始终位于任何组件上方)。我刚刚SWT.ON_TOP从父对话框中删除了,一切正常。

于 2012-04-20T09:45:22.453 回答
0

使用新的标准消息对话框

org.eclipse.jface.dialogs.MessageDialog
MessageDialog.openConfirm(shell, "Confirm", "Please confirm");
MessageDialog.openError(shell, "Error", "Error occured");
MessageDialog.openInformation(shell, "Info", "Info for you");
MessageDialog.openQuestion(shell, "Question", "Really, really?");
MessageDialog.openWarning(shell, "Warning", "I warn you"); 
于 2012-11-30T05:29:19.103 回答