Java 不带stacktrace的JXerorPane
在寻找显示错误的简单方法时,我发现了SwingX 目前我正在使用Java 不带stacktrace的JXerorPane,java,exception,swingx,Java,Exception,Swingx,在寻找显示错误的简单方法时,我发现了SwingX 目前我正在使用 JXErrorPane.showDialog(null,新的ErrorInfo(“Error”,e.getMessage(),null,null,exception,ErrorLevel.SEVERE,null)) 其结果如下: 我真的很喜欢它的外观,但我不想显示堆栈跟踪。我已经尝试过传递null而不是异常,但是这样我无法获得详细信息 有没有办法省略堆栈跟踪? (如下所示:)如果您不喜欢自动生成的详细信息消息(由BasicErro
JXErrorPane.showDialog(null,新的ErrorInfo(“Error”,e.getMessage(),null,null,exception,ErrorLevel.SEVERE,null))代码>
其结果如下:
我真的很喜欢它的外观,但我不想显示堆栈跟踪。我已经尝试过传递null而不是异常,但是这样我无法获得详细信息
有没有办法省略堆栈跟踪?
(如下所示:)如果您不喜欢自动生成的详细信息消息(由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);
异常e=新的NullPointerException(“某物…”);
//从BasicErrorPaneUI复制
StringBuffer html=新的StringBuffer(“”);
追加(“+”错误“+”);
html.append(“
”;
html.append(“”);
附加(“消息:”);
html.append(“”);
append(“+e.toString());
html.append(“”);
追加(“级别:”);
html.append(“”);
html.append(“+ErrorLevel.SEVERE”);
html.append(“”);
html.append(“”);
ErrorInfo ErrorInfo=新的ErrorInfo(“错误”,例如getMessage(),
html.toString(),null,e,ErrorLevel.SEVERE,null);
showDialog(null,errorInfo);
如果您想更频繁地这样做,我建议您使用一个自定义的ErrorInfo子类hmm。。。不太了解您的问题:如果不是stacktrace,您想显示什么?对不起,基本上我想隐藏stack trace的strack trace部分,如果有意义的话,非常感谢!这正是我想要的。@ Shishigami很高兴它有帮助——你可以考虑接受这个答案: