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 :

méthode textFormat en java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 427
    Par défaut méthode textFormat en java
    Bonjour,

    existe-il en java une fonction qui permette de formater du texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String txt = "c'est un exemple";
    je voudrais mettre en gras "un" et donc obtenir "c'est <b>un</b> exemple"
    avec une méthode du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt.textFormat("bold", 6, 8);
    merci

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    La classe Font permet ce genre de chose mais ce n'est pas vraiment du "formatage". Mais comme tu ne specifie pas la "cible" du texte, difficile de voire.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 427
    Par défaut
    Citation Envoyé par wax78 Voir le message
    La classe Font permet ce genre de chose mais ce n'est pas vraiment du "formatage". Mais comme tu ne specifie pas la "cible" du texte, difficile de voire.
    j'utilise ce code pour détecter la position des mots dans le string que je veux mettre en gras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String monTexte = "Il y a 3600 secondes dans 1 heure et 24 heures dans une journée";
    Matcher txtExp = Pattern.compile("dans").matcher(monTexte);
    while (txtExp.find()) {
         //txtExp.start()
         //txtExp.end()
    }
    mais comment se sert-on de la classe font, je veux juste récupérer le string modifier ?
    merci

  4. #4
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2011
    Messages : 181
    Billets dans le blog
    1
    Par défaut
    La class String ne fait que stocker une chaine de caractères (contient un attributs de type char []), et implémente des méthodes qui permettent de manipuler cette chaine (remplacement, position...), elle ne gère pas la manière dont la chaine est affichée. Pour gérer le formatage, tu peut utiliser un JTextFiled, ou un JTextArea au quel tu spécifie un font avec la méthode monjtext.setFont (Font font), ce font va s'applique au texte en entier.
    Sinon, tu peut utiliser la méthode monjboutton.setAction (new StyledEditorKit.BoldAction ()) par exemple, a chaque fois que tu clique sur le boutton, c'est seul le partie du texte qui est selectionnée qui sera formatée.
    Avec un JTextPane, tu peut aussi detecter la forme du texte selectionné.
    Bon courage.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 427
    Par défaut
    si j'utilise un JTextField
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    JTextField jtf = new JTextField("Il y a 3600 secondes dans 1 heure et 24 heures dans une journée");
    Font police = new Font("Arial", Font.BOLD, 14);
    jtf.setFont(police);
    top.add(jtf);
    c'est tout le texte qui passe en gras et pas juste le mot "dans", comment sélectionner une plage de caractères avec setFont.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Dans ce cas, mon idée n'est pas la bonne. Et donc ce que disais hwoarang était une bonne solution que tu ne sembles pas avoir testé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Font font = new Font("Serif", Font.PLAIN, 60);
    JLabel label = new JLabel();
    String labelText =    "<html><B>Bold</B>Bold and <I>Italic</I> Text</html>";
    label.setFont(font);
    label.setText(labelText);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Citation Envoyé par pol2095 Voir le message
    existe-il en java une fonction qui permette de formater du texte
    Tout d'abord, un String représente simplement du texte, pas de la mise en forme. Donc pour mettre en gras une partie, ce n'est pas sur le String qu'il va falloir jouer mais sur le composant utilisé pour afficher le texte.
    Il faudrait préciser sur quel environnement tu es. En supposant que c'est une application desktop, tu peux utiliser un JLabel qui supporte le formatage HTML (Si tu lui passes un string = "c'est <b>un</b> exemple", tu auras bien un en gras).

Discussions similaires

  1. Méthode booléenne en Java
    Par Eric_beauvais dans le forum Général Java
    Réponses: 3
    Dernier message: 25/08/2013, 05h03
  2. Réponses: 2
    Dernier message: 29/12/2011, 08h45
  3. Les méthodes pour apprendre Java le soir et le week end
    Par hibou107 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/04/2010, 13h10
  4. Réponses: 1
    Dernier message: 04/06/2008, 17h19
  5. Méthode native en Java
    Par air75 dans le forum Langage
    Réponses: 16
    Dernier message: 23/01/2008, 17h54

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