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 :

Récupérer le code couleur d'un caractère dans JTextPane


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 17
    Points : 17
    Points
    17
    Par défaut Récupérer le code couleur d'un caractère dans JTextPane
    Bonjour,

    Je récupère dans un Jtextpane le texte :

    String lecture_nom_joueur = jTextPane_nom_joueur.getText();
    J'affiche le premier caractère du texte :

    char c;
    c = lecture_nom_joueur.charAt(0);
    JOptionPane.showMessageDialog(null,c,"Affichage du caractere",JOptionPane.ERROR_MESSAGE);
    Maintenant je souhaite afficher la couleur de ce caractère :
    Color Couleur_mot = StyleConstants.getForeground(c);
    Mais évidemment getForeground n'attend pas un caracère mais un attributSet.

    comment faire SVP?
    Criche
    "Le but à atteindre ne doit jamais être l'objectif final".

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    Bonjour,
    Voici un petit exemple qui devrait répondre à tes attentes:

    IL fallait effectivement recuperer un AttributeSet du caractere dont tu veux la couleur. Pour cela il faut positionner le curseur ou tu veux, puis tu recupères l'attributeSet et enfin tu utilises getForeground():

    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
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.text.*;
     
    public class TestJTextPane extends JFrame {
     
    	JTextPane textPane = new JTextPane();
    	StyledDocument doc = textPane.getStyledDocument();
    	Color color;
     
    	public TestJTextPane() {
    		setSize(500,500);
    		textPane.addKeyListener(this);
    		String text = "Ceci est un test pour recuperer la couleur";
    		textPane.setText(text);
    		add(textPane,BorderLayout.CENTER);
    		MutableAttributeSet attri = new SimpleAttributeSet();
    		for (int i=0;i<text.length();i++) {
    			color = new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
    			System.out.println(color);
    			StyleConstants.setForeground(attri, color);
    			doc.setCharacterAttributes(i, i +1, attri, false);
    		}
    		String reponse="";
    		setVisible(true);
    		while (!reponse.equals("exit")) {
    			reponse = JOptionPane.showInputDialog ( "entrez la place du caractere dont vous voulez la couleur:");	
    			textPane.setCaretPosition(Integer.parseInt(reponse));//je positionne le curseur à l'endroit désiré
    			AttributeSet att = textPane.getCharacterAttributes();//je récupere l'attributeSet
    			JOptionPane.showMessageDialog(null,doc.getForeground(att));//j'utilise la methode getForeground de l'objet StyleDocument correspondant à mon JTextPane
    		}
    	}
     
    	public static void main(String[] args) {
    		TestJTextPane jtp = new TestJTextPane();
    	}
    }

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    C'est parfait comme réponse, j'ai testé et c'est exactement ce que je cherchais....depuis 3 jours.
    Merci beaucoup
    Criche
    "Le but à atteindre ne doit jamais être l'objectif final".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le code HTML de la sélection dans une iFrame
    Par umeboshi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2009, 10h04
  2. Savoir le code couleur de la valeur dans une cellule.
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/01/2009, 13h36
  3. Réponses: 9
    Dernier message: 23/10/2007, 11h12
  4. Comment récupérer le code ASCII d'un caractère?
    Par Blue_Strike dans le forum Delphi
    Réponses: 6
    Dernier message: 04/05/2007, 00h38
  5. Réponses: 5
    Dernier message: 08/03/2006, 22h20

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