JTextPane Formatierungen werden nicht gespeichert

Cherry

Mitglied
Hallo,

ich habe eine Frage, bezüglich des Abspeicherns von Textformatierungen einer JTextPane.
Ich möchte formatierten Text abspeichern, leider wird der Text unformatiert abgespeichert.
Hier mein saveDialog:

Java:
JFileChooser jfc2= new JFileChooser();
                if(jfc2.showSaveDialog(save)==JFileChooser.APPROVE_OPTION)
                {
                    FileWriter out=null;
                    try
                    {
                        File fs = jfc2.getSelectedFile();
                        out= new FileWriter(fs);
                        out.write(jta.getText());
                    }
                    catch(IOException i)
                    {
                        jta.setText(i.getMessage());
                    }
                    finally
                    {
                        try{out.close();}
                        catch(IOException i){};
                    }

Muss ich hier und im OpenDialog noch irgendwas mit StyledDocument angeben?

Danke für Eure Hilfe!!
 
Ich denke, dass dein getText() den Text ohne Formatierung zurück liefert.

maybe gibt es eine bessere?
 
habe gerade keine IDE zur Hand, deswegen nur einen Tipp/Frage:

Java:
textPane.selectAll()

liefert auch keinen formatierten Text?
 
Mhm, ja z.B. du solltest aber evtl. die Javadoc beachten:
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Aber ich habe ähnliches auch noch nicht gemacht, mein Hinweis sollte eher dazu dienen, dass du eher in Richtung Document gehen solltest, anstelle des Textes. Die Style-Informationen liegen afair schließlich dort begraben
 
eRaaaa, kannst Du mir vll noch ein kleines Beispiel zeigen, wie ich es am Besten serialisiere? Bis jetzt habe ich nur das mit dem ObjectOutputStream versucht. Leider hat es auch nicht so funktionert 🙁

Danke!!
 
Wie schon gesagt, ich hab`s auch noch nie gemacht. Du bist aber bestimmt nicht der Erste der das vor hat und man findet bei google bestimmt Codebeispiele. Im Forum habe ich z.B. folgendes gefunden, das könnte dir schon ein wenig weiterhelfen(leider gibt`s die java-Datei aber nicht mehr ;/ )
Probleme kann es wie dort ja schon angesprochen mit dem Text geben, da es dafür keinen setter gibt.

Using XMLEncoder, Long Term Persistence of JavaBeans Components: XML Schema und Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 14.12 Persistente Objekte und Serialisierung hilft dir vllt. auch weiter im Bezug mit dem Textproblem.

Oder es hat evtl. schon jmd. anderes einen fertigen Code für dich 🙂
 

Neue Themen


Zurück
Oben