1

エラーを表示する簡単な方法を探しているときに、SwingXを見つけました

現在使用しています

JXErrorPane.showDialog(null, new ErrorInfo("Error", e.getMessage(), null, null, exception, ErrorLevel.SEVERE, null));

その結果、次のようになります:http: //i.imgur.com/JKeF4.png

私はこれがどのように見えるか本当に好きですが、スタックトレースを表示したくありません。例外の代わりにnullを渡そうとしましたが、その方法では詳細がわかりません。

スタックトレースを省略する方法はありますか?(このように:http://i.imgur.com/kObaH.png

4

1 に答える 1

3

自動作成された詳細メッセージ(BasicErrorPaneUIによって作成され、getDetailsAsHtmlを参照)が気に入らない場合は、次のようなカスタムメッセージを渡すことができます。

    Exception e = new NullPointerException("something ...");
    // copied from BasicErrorPaneUI
    StringBuffer html = new StringBuffer("<html>");
    html.append("<h2>" + "Error" + "</h2>");
    html.append("<HR size='1' noshade>");
    html.append("<div></div>");
    html.append("<b>Message:</b>");
    html.append("<pre>");
    html.append("    " + e.toString());
    html.append("</pre>");
    html.append("<b>Level:</b>");
    html.append("<pre>");
    html.append("    " + ErrorLevel.SEVERE);
    html.append("</pre>");
    html.append("</html>");

    ErrorInfo errorInfo = new ErrorInfo("Error", e.getMessage(), 
            html.toString(), null, e, ErrorLevel.SEVERE, null);
    JXErrorPane.showDialog(null, errorInfo);

これをもっと頻繁に行いたい場合は、カスタムErrorInfoサブクラスをお勧めします

于 2012-08-13T11:27:28.993 に答える