2012-04-20 14 views
0

で動作しません。open インスタンスのメソッドを呼び出すと、何も起こりません。 これはコードです:Eclipse RCP MessageBox.openは、Ubuntu 11.10

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

私はUbuntuの11.10でRCPおよびRAP開発者のためのEclipseインディゴ3.7.2を使用していますUnity(Ubuntu2D)とCompiz 0.9.6、OpenJDK 1.7.0_147。 Herehereは、この問題を解決するためのヒントです(環境変数GDK_NATIVE_WINDOWSを設定することで修正されます)。

答えて

0

私はそれを解決しました。何らかの理由で、Linuxでは、メッセージボックスはの下にの下に作成され、コンポーネントはフラグSWT.ON_TOPで作成されます(Windowsではメッセージボックスはのいずれかのコンポーネントの上に常にです)。私はちょうど親ダイアログからSWT.ON_TOPを削除し、すべてが機能します。返信用

0

おそらく、私はJavaを想定しているにもかかわらず、あなたの実行コンフィギュレーションと使用している言語に関するいくつかの詳細情報を含めることができます....さらに、コード全体をロードするのは面倒ではありません。コードが比較的短く、500行以下であれば、コードパッドなどに投稿してください。

これはJavaプロジェクトの場合、メッセージボックスを表示する方法です。ここをクリックしてください: http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

+0

感謝。はい、私のプロジェクトはJavaプロジェクトです。 Swingは完全に機能しますが、SWTライブラリを使用する必要があります。 – Alberto

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"); 
関連する問題