Eclipse RCP MessageBox.open在Ubuntu 11.10上不工作

Eclipse RCP MessageBox.open在Ubuntu 11.10上不工作,eclipse,ubuntu,gtk,eclipse-rcp,messagebox,Eclipse,Ubuntu,Gtk,Eclipse Rcp,Messagebox,正如标题所说,当我调用MessageBox实例的open方法时,什么也没有发生。 代码如下: 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.setTe

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

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();

我正在使用EclipseIndigo3.7.2,用于Ubuntu11.10上的RCP和RAP开发人员,使用UnityUbuntu2D和Compiz0.9.6,使用OpenJDK1.7.0“。还有一些解决这个问题的技巧,通过设置环境变量GDK_NATIVE_WINDOWS来修复,但是没有任何效果。

也许您可以提供一些关于您的运行配置和您使用的语言的更多信息,尽管我假设是java。。。。此外,您没有费心加载整个代码,只加载了一个片段。如果代码相对较短,500行或更少,则将其发布到代码板或其他地方

但如果这是一个java项目,那么现在就可以显示消息框。看看这里:
好的,我解决了。由于某些原因,在Linux下,消息框绘制在使用标志SWT创建的组件下。在Windows下,消息框始终位于任何组件的上方。我刚刚从父对话框中删除了SWT.ON_TOP,一切正常。

使用新的标准消息对话框

org.eclipse.jface.dialogs.MessageDialog MessageDialog.openConfirmshell,确认,请确认; MessageDialog.openErrorshell,错误,发生错误; MessageDialog.openInformationshell,Info,Info for you; MessageDialog.openQuestionshell,问题,真的,真的?; MessageDialog.openWarningshell,警告,我警告你;
谢谢你的回复。是的,我的项目是一个Java项目。Swing工作得很好,但我必须使用SWT库。