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

AWT/Swing Java Discussion :

[jEditorPane]Coloré un string, choisir le string en cours


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut [jEditorPane]Coloré un string, choisir le string en cours
    Bonjour à tous,

    voila, apres avoir essayé avec un textArea sans succes, je me lances ds un jEditorPane. voila quelques questions:$

    1/ Comment coloré un texte
    2/ comment choisir le mot en cours, cad le mot que l'utilisateur est entrain de taper??

    MERCI

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Aller hop direction la FAQ

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci pour le lien pour la FAQ, mais mon probleme n'est pas l'insertion d'un texte.

    Au fait, imaginons que une partie du texte est ecrite et que l'utilisateur va quelque part au milieu (via le curseul) et est entrain de taper un mot.
    Je veux recuperer les premiers caracteres (donc les caracteres du mot qu'il est entraint de taper).
    Ce debut de mot est comparer avec un tableau de string defini à l'avance.
    Lorsque un mot==mot en cours, alors je color ce mot.

    Donc il y a deux probleme à ce post:
    1/ comment recuperer les string qu'il est entrain de taper
    2/ Comment colorer ce string

    MERCI

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu as mal du lire la FAQ, car pour la coloration il y a ce qu'il faut http://java.developpez.com/faq/java/...xt_multi_style

    Ensuite pour ce qui est de récupérer le dernier mot, a toide faire joujou avec getCaretPosition, le getText, tu déternime quel est le premier espace avant le caret dans le texte, tu récup le sous chaine correspondant à ce qui est contenu entre cet espace et le caret et pis voilà, t'as plus qu'à appliquer ton style

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    J'ai vu qu"'il y avait un petit truc à telecharger : http://java.developpez.com/faq/java/...JTextPane.java

    Mais je n'y comprends absolument rien

    Vraiment, j'ai tout bien lu, mais je bloque au Style!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private static void initStyle (StyleContext styles)
    	{	// definition du style pour le texte normal (brute)
     
    		javax.swing.text.Style defaut = styles.getStyle (StyleContext.DEFAULT_STYLE);
     
    		javax.swing.text.Style styleNormal = styles.addStyle("styleNormal", defaut);
    		StyleConstants.setFontFamily (styleNormal, "Courier");
    		Style}
    		}Constants.setFontSize (styleNormal, 11);
    		StyleConstants.setForeground(styleNormal, Color.black);
    là, on definie le styleNormal, c'est ca??? mais je ne vois pas comment on l'utilise concretement??


    C'est là que je bloque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
    	{	try
    		{	// si le texte insere est egale a HELP le texte s'ecrit avec le style "styleOp"
    			if ( str.equals ("HELP") )
    			{	super.insertString (offs, str, getStyle ("styleOp"));
    			}
    			else // sinon le texte est ecrit avec le style "styleNormal"
    			{	super.insertString (offs, str, getStyle ("styleNormal"));
     
    		catch (BadLocationException e)
    		{	System.out.println ("Tuuuttt erreur Insere");
    		}
    	}
    Je ne comprends pas ce passage!!

    qui peut m'expliquer clairement?
    MERCI

  6. #6
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Je demande votre aide pour qui sait.

    MERCI D'AVANCE

  7. #7
    Membre éprouvé Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Par défaut
    Bon je vais te donner le code d'une methode d'une de mes classes qui a le meme rôle, à savoir changer la couleur du texte selectionner lorsque je clic sur cette option.
    Cette méthode est un test donc loin d'être finie, c'est surtout pour te montrer comment ca marche.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void setGeneParameters(){
    	int start = AbstractPanel.abstractText.getSelectionStart();
    	int end = AbstractPanel.abstractText.getSelectionEnd();
    	final SimpleAttributeSet Gene = new SimpleAttributeSet();
     	StyleConstants.setForeground( Gene, Color.black); 
     	StyleConstants.setBold( Gene, true); 
     	DefaultStyledDocument doc = (DefaultStyledDocument) AbstractPanel.abstractText.getDocument();
     	doc.setCharacterAttributes( start, end - start, Gene, true );
    	}
    Tu l'auras compris mon texte se trouve dans un JTextPane d'une autre classe. Je commence donc par définir le début et la fin de ma selection, puis je définie le style du texte.

    Les deux lignes importantes pour l'application du style sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DefaultStyledDocument doc = (DefaultStyledDocument) AbstractPanel.abstractText.getDocument();
    doc.setCharacterAttributes( start, end - start, Gene, true );
    J'espere que ca t'aidera a y voir plus clair

Discussions similaires

  1. [String]passage de String par reference?
    Par Snivel dans le forum Langage
    Réponses: 17
    Dernier message: 02/12/2005, 16h24
  2. cannot convert 'std::string' to 'System::String ^'
    Par broadhead dans le forum MFC
    Réponses: 1
    Dernier message: 14/06/2005, 11h37
  3. [String] pb fonction String[] split(String regex)
    Par Kyti dans le forum Langage
    Réponses: 6
    Dernier message: 05/04/2005, 13h06
  4. Différence entre un String et un string ?
    Par pepito62 dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/03/2005, 15h11
  5. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08

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