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) を使用した Ubuntu 11.10 および OpenJDK 1.7.0_147 を使用した Compiz 0.9.6 で、RCP および RAP 開発者向けに Eclipse Indigo 3.7.2 を使用しています。この問題を解決するためのヒントをいくつか紹介します (環境変数を設定することで修正されます)GDK_NATIVE_WINDOWS、何も機能しません。

4

3 に答える 3

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 に答える
0

おそらく、Javaを想定していますが、実行構成と使用している言語に関する詳細情報を含めることができます。さらに、コード全体をロードする必要はなく、フラグメントのみをロードする必要があります。コードが比較的短く、500行以下の場合は、コードパッドなどに投稿してください。

ただし、これがJavaプロジェクトの場合は、このようにしてメッセージボックスを表示します。ここでそれを探してください:http: //docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

于 2012-04-20T09:00:28.697 に答える