Eclipse/プラグイン開発のTIPS集/エラーダイアログの制御
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[エラーログの制御>Eclipse/プラグイン開発のTIPS集/エラー...
#contents
**エラーダイアログの制御方法について [#f9f575af]
EclipseはStatusオブジェクトを使用したエラーダイアログ表示...
org.eclipse.jface.dialogs.ErrorDialog
というクラスを用います。
やり方は簡単で、[[エラーログの制御>Eclipse/プラグイン開発...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
new Exception("マルチのエラーメッセージ"));
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", new ...
"エラーメッセージ1"));
mStatus.add(status);
status = new Status(IStatus.INFO, SamplePlugin.getPlugin...
IStatus.OK, "メッセージ2", new Exception("エラ...
mStatus.add(status);
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, null, null, mStatus); <-ダ...
そうすると以下のようなエラーダイアログが表示されます。
#ref(error01.png)
更にこのダイアログには詳細ボタンがあり、それをクリックす...
#ref(error02.png)
メイン部分の「マルチステータスのメッセージ」は、MultiStat...
MutliStatusクラスの例外クラスのメッセージ
|--- MutliStatusのなかの1個目のStatusクラスの第3引数...
|--- MutliStatusのなかの1個目のStatusクラスの例外クラ...
|--- MutliStatusのなかの2個目のStatusクラスの第3引数...
|--- MutliStatusのなかの2個目のStatusクラスの例外クラ...
|--- ......
となります。
**タイトルの文言を変えるなど、ちょっとしたカスタマイズ [#...
ErrorDialog.openError(shell, null, null, mStatus);
のnullの箇所に文字を設定することで、ちょっとですが表示を...
#ref(error03.png)
また、もろもろのStatusクラスの引数のうち、例外クラスを受...
#ref(error04.png)
**普通のユーザ通知にも使う。 [#d178f4bb]
このやり方でやれば例外が発生していなくても、ユーザ通知に...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
IStatus status = new Status(IStatus.INFO, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", null);
mStatus.add(status);
status = new Status(IStatus.INFO, SamplePlugin.getPlugin...
IStatus.OK, "メッセージ2", null);
mStatus.add(status);
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, "完了しました", "処理が完了...
そうするとこのようなダイアログが表示されました。
#ref(info.png)
ErrorDialogってのが気になりますが、処理が完了しました、と...
**普通のStatusの場合も [#c0f626f4]
流れでMultiStatusを先にやりましたが、普通のStatusの場合も...
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", new ...
"エラーメッセージ1"));
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, null, null, status);
エラー画面はこんな感じ。
#ref(errorStatus.png)
***例外を渡さないと、詳細ボタンは表示されない。 [#m80191f9]
予想通りって感じですが、
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", null);
ErrorDialog.openError(shell, null, null, status);
というように例外を渡さないと、詳細ボタンと詳細を表示する...
#ref(noDetail.png)
ただ、MultiStatusを使用した場合はどうしても詳細領域がでち...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, null, null);
mStatus.add(status);
とかやったら、nullはダメだって例外が発生しちゃいました。
----
この記事は
#vote(おもしろかった[15],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[エラーログの制御>Eclipse/プラグイン開発のTIPS集/エラー...
#contents
**エラーダイアログの制御方法について [#f9f575af]
EclipseはStatusオブジェクトを使用したエラーダイアログ表示...
org.eclipse.jface.dialogs.ErrorDialog
というクラスを用います。
やり方は簡単で、[[エラーログの制御>Eclipse/プラグイン開発...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
new Exception("マルチのエラーメッセージ"));
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", new ...
"エラーメッセージ1"));
mStatus.add(status);
status = new Status(IStatus.INFO, SamplePlugin.getPlugin...
IStatus.OK, "メッセージ2", new Exception("エラ...
mStatus.add(status);
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, null, null, mStatus); <-ダ...
そうすると以下のようなエラーダイアログが表示されます。
#ref(error01.png)
更にこのダイアログには詳細ボタンがあり、それをクリックす...
#ref(error02.png)
メイン部分の「マルチステータスのメッセージ」は、MultiStat...
MutliStatusクラスの例外クラスのメッセージ
|--- MutliStatusのなかの1個目のStatusクラスの第3引数...
|--- MutliStatusのなかの1個目のStatusクラスの例外クラ...
|--- MutliStatusのなかの2個目のStatusクラスの第3引数...
|--- MutliStatusのなかの2個目のStatusクラスの例外クラ...
|--- ......
となります。
**タイトルの文言を変えるなど、ちょっとしたカスタマイズ [#...
ErrorDialog.openError(shell, null, null, mStatus);
のnullの箇所に文字を設定することで、ちょっとですが表示を...
#ref(error03.png)
また、もろもろのStatusクラスの引数のうち、例外クラスを受...
#ref(error04.png)
**普通のユーザ通知にも使う。 [#d178f4bb]
このやり方でやれば例外が発生していなくても、ユーザ通知に...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
IStatus status = new Status(IStatus.INFO, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", null);
mStatus.add(status);
status = new Status(IStatus.INFO, SamplePlugin.getPlugin...
IStatus.OK, "メッセージ2", null);
mStatus.add(status);
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, "完了しました", "処理が完了...
そうするとこのようなダイアログが表示されました。
#ref(info.png)
ErrorDialogってのが気になりますが、処理が完了しました、と...
**普通のStatusの場合も [#c0f626f4]
流れでMultiStatusを先にやりましたが、普通のStatusの場合も...
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", new ...
"エラーメッセージ1"));
Shell shell = getSite().getWorkbenchWindow().getShell();
ErrorDialog.openError(shell, null, null, status);
エラー画面はこんな感じ。
#ref(errorStatus.png)
***例外を渡さないと、詳細ボタンは表示されない。 [#m80191f9]
予想通りって感じですが、
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, "メッセージ1", null);
ErrorDialog.openError(shell, null, null, status);
というように例外を渡さないと、詳細ボタンと詳細を表示する...
#ref(noDetail.png)
ただ、MultiStatusを使用した場合はどうしても詳細領域がでち...
MultiStatus mStatus = new MultiStatus(SamplePlugin
.getPluginId(), IStatus.OK, "マルチステータスの...
IStatus status = new Status(IStatus.ERROR, SamplePlugin
.getPluginId(), IStatus.OK, null, null);
mStatus.add(status);
とかやったら、nullはダメだって例外が発生しちゃいました。
----
この記事は
#vote(おもしろかった[15],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: