JXErrorPane没有堆栈跟踪
在寻找一种简单的方式来显示错误目前我使用JXErrorPane没有堆栈跟踪
JXErrorPane.showDialog(null, new ErrorInfo("Error", e.getMessage(), null, null, exception, ErrorLevel.SEVERE, null));
导致以下我发现SwingX
我真的很喜欢这个样子,但我不想显示堆栈跟踪。我试过传递null而不是异常,但这种方式我没有得到细节。
有没有什么办法可以省略堆栈跟踪? (就像这样:http://i.imgur.com/kObaH.png)
如果你不喜欢自动建立的细节信息(这是由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子
非常感谢!这正是我想要的。 – Shishigami 2012-08-13 12:37:33
@Sishishami很高兴帮助 - 你可能会考虑接受这个答案:-) – kleopatra 2012-08-21 15:41:30
嗯......不太明白你的问题:如果不是堆栈跟踪,_do_你想显示什么? – kleopatra 2012-08-13 10:45:37
对不起,基本上我想隐藏堆栈跟踪的痕迹部分,如果有意义http://i.imgur.com/kObaH.png – Shishigami 2012-08-13 10:49:41