IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

l'enregistrment a partir d'un editeur


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Par défaut l'enregistrment a partir d'un editeur
    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

  2. #2
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    essaye de créer un fichier dans lequel tu sauvegardera ton texte.
    créer un bouton enregistrer qui valide ta modification.
    Créer à l'aide d'un JFileChooser un bouton qui te permettra d'ouvrir le fichier que tu souhaite modifier.
    et regard si la police est bien prise en compte en réouvrant ton fichier.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jerem721 Voir le message
    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
    Salut

    Tu veux un format de fichier existant ou le tien propre ? Si tu veux ton format tu peux enregistrer avec des balises genre bbcode par exemple, ou du xml, et quand tu ouvres le fichier avec ton programme tu parses et interprètes

    Bonne journée

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Par défaut
    le quel est le mieux , avoir son propre langage ou avoir son langage propre?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jerem721 Voir le message
    le quel est le mieux , avoir son propre langage ou avoir son langage propre?
    Tu veux dire quoi ? Si je comprends bien tu demandes si c'est mieux d'avoir ton format ou d'utiliser un format existant ?
    Si tu redéfinis ton propre format tu pourras le simplifier et mettre que ce dont tu as besoin. Ceci dit utiliser un format existant permet d'ouvrir ton fichier avec d'autres logiciels. Ca dépend de ce que tu recherches avec cet éditeur

Discussions similaires

  1. lister enregistrement a partir du 2ème
    Par xclear dans le forum ASP
    Réponses: 1
    Dernier message: 26/11/2006, 20h03
  2. Réponses: 2
    Dernier message: 09/08/2006, 15h54
  3. renommer un enregistrement a partir d un formulaire
    Par fsautejeau dans le forum Access
    Réponses: 2
    Dernier message: 25/07/2006, 09h02
  4. suppression enregistrement a partir d une liste
    Par fsautejeau dans le forum Access
    Réponses: 9
    Dernier message: 05/07/2006, 15h28
  5. supprimer un enregistrement a partir d'une requete
    Par tooneygirl dans le forum Access
    Réponses: 3
    Dernier message: 20/06/2005, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo