将消息添加到可以换行的文本组件(如 ),然后将编辑器窗格指定为 .有关示例,请参阅如何使用编辑器窗格和文本窗格和如何创建对话框。JEditorPane
message
JOptionPane
附录:作为换行的替代方法,请考虑在滚动窗格中采用面向线条的方法,如下所示。
f.add(new JButton(new AbstractAction("Oh noes!") {
@Override
public void actionPerformed(ActionEvent action) {
try {
throw new UnsupportedOperationException("Not supported yet.");
} catch (Exception e) {
StringBuilder sb = new StringBuilder("Error: ");
sb.append(e.getMessage());
sb.append("\n");
for (StackTraceElement ste : e.getStackTrace()) {
sb.append(ste.toString());
sb.append("\n");
}
JTextArea jta = new JTextArea(sb.toString());
JScrollPane jsp = new JScrollPane(jta){
@Override
public Dimension getPreferredSize() {
return new Dimension(480, 320);
}
};
JOptionPane.showMessageDialog(
null, jsp, "Error", JOptionPane.ERROR_MESSAGE);
}
}
}));