JOptionPane中的文本换行?

时间:2012-12-23 13:53:21

标签: java html swing exception joptionpane

我正在使用以下代码在我的swing应用程序中显示错误消息

try {
    ...
} catch (Exception exp) {
    JOptionPane.showMessageDialog(this, exp.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
}

错误对话框的宽度很长,具体取决于消息。有没有办法包装错误信息?

2 个答案:

答案 0 :(得分:52)

默认情况下,JOptionPane会使用JLabel来显示文字。标签将格式化HTML。在CSS中设置最大宽度。

JOptionPane.showMessageDialog(
    this, 
    "<html><body><p style='width: 200px;'>"+exp.getMessage()+"</p></body></html>", 
    "Error", 
    JOptionPane.ERROR_MESSAGE);

更一般地说,请参阅How to Use HTML in Swing Components以及此简单的example of using HTML in JLabel

答案 1 :(得分:32)

将您的消息添加到可以换行的文本组件,例如JEditorPane,然后将编辑器窗格指定为message的{​​{1}}。有关示例,请参阅How to Use Editor Panes and Text PanesHow to Make Dialogs

附录:作为换行的替代方法,请考虑滚动窗格中的面向行的方法,如下所示。

error image

JOptionPane