私はこれを数時間試みており、Webも検索しましたが、解決策が見つかりません。
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);
}
}
ヘルプ?