Ciao a tutti.
Nella mia applicazione (una chat) l'area contenente i messaggi e' un JTextPane.
I messaggi possono contenere formattazione (colore del carattere/sfondo, font, size) ed immagini.
Ho qualche problema a realizzare una funzione che salvi su file il contenuto dell'area messaggi.
Ho pensato di generare un RTF e, con piacevole sorpresa, ho scoperto che il JDK standard (uso la 1.5.0) offre un supporto per tale formato.
Ho quindi scritto il metodo che riporto:
Codice:
private void saveDoc() {
StyledDocument doc = msgTextAreaGfx.getStyledDocument();
RTFEditorKit kit = new RTFEditorKit();
try {
FileOutputStream outStream = new FileOutputStream(GioChat.RTFfile);
kit.write(outStream, doc, 0, doc.getLength());
outStream.close();
} catch (Exception e) {
e.printStackTrace();
}
(la JTextArea in questione e' msgTextAreaGfx)
Il metodo funziona abbastanza: font, colore e dimensione sono piu' o meno rispettati (qualche volta sostituisce il nero al bianco, soprattutto andando a capo, non so perche' ); il problema sono le immagini: qualunque immagine viene sostituita da un riquadro nero pari alle sue dimensioni, sia che si tratti di JPEG, BMP, GIF (animate e non).
Qualcuno sa darmi qualche aiuto?
Grazie in anticipo.