我已经尝试了几个小时,并且还搜索了网络,但根本找不到解决方案。
我需要构建一个可以读取和格式化 HTML 的文本区域(无论是 JTextArea、JTextPane 还是 JEditorPane 都无所谓)。
我知道 JEditorPane 可以通过给它一个超链接来显示 HTML,但是如果我已经得到了 HTML 文本,并且只想显示它..?如果我使用 setText() 它只显示一个白色字段。里面什么都没有。
我得到的 HTML 文本来自电子邮件。我明白了,使用以下代码(只是其中的一个片段)
String subject = message[row].getSubject();
String from = InternetAddress.toString(message[row].getFrom());
StringBuilder body = new StringBuilder();
Multipart mp = (Multipart) message[row].getContent();
for(int i = 0; i < mp.getCount(); i++) {
BodyPart bp = mp.getBodyPart(i);
String disp = bp.getDisposition();
if(disp != null && (disp.equals(BodyPart.ATTACHMENT))) {
// Do something
} else {
body.append(bp.getContent());
}
}
EmailContent ec = new EmailContent(new JFrame(),true,from,subject,body.toString());
} catch (IOException ex) {
Logger.getLogger(MailPanel.class.getName()).log(Level.SEVERE, null, ex);
} catch (MessagingException ex) {
Logger.getLogger(MailPanel.class.getName()).log(Level.SEVERE, null, ex);
}
}
帮助?