bonjour , voici le code du tutoriel que j'ai suivit pour crée un éditeur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import javax.swing.event.*;
import javax.swing.text.*;
 
public class StylesDansDocument extends JFrame implements ActionListener, CaretListener {
   private JTextPane texte = new JTextPane();
   private JToolBar barre = new JToolBar();
   private JToggleButton boutonItalique = new JToggleButton("<html><i>Italique</i></html>");
   private JToggleButton boutonGras = new JToggleButton("<html>Gras</html>");
   private JButton boutonCouleur = new JButton("<html>Couleur</html>");
   private Color couleur = Color.black;
 
   public StylesDansDocument() {
      super("Editeur");
      add(new JScrollPane(texte));
      boutonItalique.addActionListener(this);
      barre.add(boutonItalique);
      boutonGras.addActionListener(this);
      barre.add(boutonGras);
      boutonCouleur.setForeground(couleur);
      boutonCouleur.addActionListener(this);
      barre.add(boutonCouleur);
      add(barre, BorderLayout.NORTH);
      texte.addCaretListener(this);
      formater();
      setSize(400, 300);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }
 
   private void formater() {     
      texte.setFont(new Font("Verdana", Font.PLAIN, 13));
      texte.setBackground(Color.white);
      Style défaut = texte.getStyle("default");  
      StyleConstants.setAlignment(défaut, StyleConstants.ALIGN_JUSTIFIED);
      StyleConstants.setSpaceAbove(défaut, 3.0F);
      StyleConstants.setLeftIndent(défaut, 5.0F);
      StyleConstants.setSpaceBelow(défaut, 7.0F);
      StyleConstants.setRightIndent(défaut, 5.0F);
      StyleConstants.setLineSpacing(défaut, -0.2F);
      StyleConstants.setForeground(défaut, couleur);
      texte.setParagraphAttributes(défaut, true);  
   }   
 
   public void actionPerformed(ActionEvent e) {
	   String l = texte.getText();
      SimpleAttributeSet attribut = new SimpleAttributeSet();
      if (e.getSource()==boutonItalique) StyleConstants.setItalic(attribut, boutonItalique.isSelected()); 
      if (e.getSource()==boutonGras) StyleConstants.setBold(attribut, boutonGras.isSelected()); 
      if (e.getSource()==boutonCouleur) {
         couleur = JColorChooser.showDialog(this, "Couleur du texte", couleur); 
         StyleConstants.setForeground(attribut, couleur);
         boutonCouleur.setForeground(couleur);     
 
      }
 
      texte.setCharacterAttributes(attribut, false);
      texte.repaint();
      System.out.println(l);
      texte.requestFocus();
   }
 
   public void caretUpdate(CaretEvent e) {
      AttributeSet attribut= texte.getCharacterAttributes();
      Enumeration liste = attribut.getAttributeNames();
      ArrayList<String> noms = new ArrayList<String>();
      while (liste.hasMoreElements()) noms.add(liste.nextElement().toString());
      boutonItalique.setSelected(noms.contains("italic"));
      boutonGras.setSelected(noms.contains("bold"));      
      barre.revalidate();
   }
 
   public static void main(String[] args) { new  StylesDansDocument(); }   
}
le code marche impeccable maintenant je cherche a pouvoir enregistrer le texte, mais je sais pas comment faire pour sauvegarder les modifications du texte comme par exemple si l'utilisateur mais de la couleur a un endroit , met en gras a un autre endroit .... je voudrais que quand on rouvre le fichier crée on puisse retrouver les couleur les mot en gras ...

jerem721