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

avec Java Discussion :

Différentes couleurs dans un JTextPane problème


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Différentes couleurs dans un JTextPane problème
    Bonjour

    Mon objectif est de rajouter une phrase ou une partie d'une phrase en bleu à la fin d'un JTextPane passé en paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void joueurAttaque(JTextPane combatDescription) throws BadLocationException{
     
    			combatDescription.setText(combatDescription.getText() + "\n");
     
    			StyledDocument doc = combatDescription.getStyledDocument();
    			MutableAttributeSet keyWord = new SimpleAttributeSet();
    			StyleConstants.setForeground(keyWord, Color.blue);
     
    			doc.insertString(doc.getLength(), "Vous gagnez 10 points.", keyWord);
    Le problème est qu'il me met tout en bleu (tout le JTextPane) alors que je veux que le String "Vous gagnez 10 points". Et quand je change le doc.getLength() en un offset quelquonque genre 200 ca me rajoute bien la phrase "Vous gagnez 10 points" à cet offset mais cette fois ci rien n'est bleu!

    Avez vous une idée svp?

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Bonjour

    Tu peux peut-être passer par de l'HTML

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Ben je voudrais plutôt utiliser les JTextpane sans passer par de l'html (je maitrise pas du tout).

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Tiens, c'est vrai pourquoi ce code ne fonctionne pas!

    Autrement, tu as essayé en ajoutant une instance de Style au document?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Oui, ca ne marche pas non plus.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par id456 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    combatDescription.setText(combatDescription.getText() + "\n")
    Il me semble qu'avec la méthode setText() de la classe JTexPane tu ajoutes pas le texte dans le document.

    Bon courage.
    Quand je fais combatDescription.setText(combatDescription.getText() + "\n") j'ajoute un retour à la ligne à mon JTextPane passé en paramètres puis pour ajouter du texte j'utilise setText() et cela marche très bien, je ne vois pas ce que tu veux dire.

    La methode inserString() je l'utilise oui pour insérer ma phrase à la fin.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    doc.insertString(0, combatDescription.getText() + "\n", null);
    et ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    doc.insertString(doc.getLength(), "Vous gagnez 10 points.", keyWord);

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Par contre chez moi ton code fonctionne très bien en passant un TextPane en référence
    Le problème doit venir d'ailleurs car j'ai bien Vous gagnez 10 points en bleu

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ah bon? ca marche même avec un JtextPane rempli d'un texte? Car moi j'ai bien l'affichage en bleu comme je l'ai dis mais pas de la phrase uniquement, mais de tout mon JTextPane passé en paramètre!

    @id456: j'ai essayé mais ton 1er insertString() ne fait que recopier le début de mon text (JTextPane en paramètre).

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Oui ça fonctionne avec TextPane rempli d'un texte

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Est ce que tu peux me faire un copier coller de ton code stp? Ca m'intrigue car moi ca marche pas.

  12. #12
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Voici mes classes que j'ai faites très rapidement pour le test

    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
    87
    88
    89
    90
    91
    package vue;
     
    import java.awt.BorderLayout;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
     
    public class jFrame extends JFrame
    {
     
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
     
    	private JTextPane jTextPane = null;
     
    	/**
             * This is the default constructor
             */
    	public jFrame()
    	{
    		super();
    		initialize();
    	}
     
    	/**
             * This method initializes this
             * 
             * @return void
             */
    	private void initialize()
    	{
    		this.setSize(300, 200);
     
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    		testTextPane test =new testTextPane();
    		try
    		{
    			test.joueurAttaque(getJTextPane());
    		} catch (BadLocationException e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		}
     
    	/**
             * This method initializes jContentPane
             * 
             * @return javax.swing.JPanel
             */
    	private JPanel getJContentPane()
    	{
    		if (jContentPane == null)
    		{
     
     
     
    			jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			jContentPane.add(getJTextPane(), BorderLayout.CENTER);
     
    		}
    		return jContentPane;
    	}
     
     
     
    		/**
                     * This method initializes jTextPane    
                     *      
                     * @return javax.swing.JTextPane        
                     */
    		private JTextPane getJTextPane()
    		{
    			if (jTextPane == null)
    			{
    				jTextPane = new JTextPane();
    				jTextPane.setText("blablablabla ");
     
     
    			}
    			return jTextPane;
    		}
     
     
     
    }
    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
     
    package vue;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
     
    import javax.swing.JInternalFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.MutableAttributeSet;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyledDocument;
     
    public class testTextPane
    {
     
     
    	public void joueurAttaque(JTextPane combatDescription) throws BadLocationException
    	{
     
    		combatDescription.setText(combatDescription.getText() + "\n");
     
    		StyledDocument doc = combatDescription.getStyledDocument();
    		MutableAttributeSet keyWord = new SimpleAttributeSet();
    		StyleConstants.setForeground(keyWord, Color.blue);
     
    		doc.insertString(doc.getLength(), "Vous gagnez 10 points.", keyWord);
    	}
    }
    et ça fonctionne bien

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Oui en effet ton exemple marche mais toujours pas le mien , je me suis inspiré du tiens mais ca m'affiche toujours mon texte tout en bleu... Pourtant à plus haut niveau je ne fais rien de sorcier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	public void joueurAttaque(JTextPane combatDescription, Monstre m, Joueur j) throws BadLocationException{
    		combatDescription.setText(combatDescription.getText() + "\n");
    		combatDescription.setText(combatDescription.getText() + "Vous attaquez et vous infligez " + j.getDegat() + " Dégâts." + " Il lui reste " + (m.getHp() - j.getDegat()) + " HP.");
    		if(j.getBonusRegeneration() > 0){
    			combatDescription.setText(combatDescription.getText() + "\n");
     
    			testTextPane test =new testTextPane();
    			test.joueurAttaque2(combatDescription);
     
    			j.setHP(j.getHp() + j.getBonusRegeneration());
    		}
    		m.setHp(m.getHp() - j.getDegat());
    	}
    Donc en ayant crée une classe testTextPane comme toi. Une autre classe appelle cette fonction avec un combatDescription qui possède l'historique du combat, et donc je suis censé rajouter ma phrase à ce JTextPane. Erf je vois pas l'erreur..


    joueurAttaque2 est la fonction que j'ai écrite au début du topic.


    Le résultat:
    Le Combat Commence !
    Scorpion attaque et vous inflige 22 Dégâts. Il vous reste 78 HP.
    Vous attaquez et vous infligez 50 Dégâts. Il lui reste 83 HP.

    Vous gagnez 10 points.


    au lieu de :
    Le Combat Commence !
    Scorpion attaque et vous inflige 22 Dégâts. Il vous reste 78 HP.
    Vous attaquez et vous infligez 50 Dégâts. Il lui reste 83 HP.

    Vous gagnez 10 points.

  14. #14
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Faudrait voir plus de code

    De plus je comprends pas tout à ton code mais pourquoi tu passe un textPane en référence et pas simplement un String tu doit avoir un TextPane dans ta GUI qui doit se mettre à jour.
    Pourquoi ne pas faire une méthode qui met à jour ton textPane, et qui prend en argument une chaîne de caractère.
    Tu peux aussi utiliser le pattern Observer, pour faire communiquer tes objets.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    En gros je t'explique le fonctionnement:
    Les fonctions joueurAttaque et monstreAttaque sont similaires.

    Dans une classe Scorpion (qui hérite de Monstre) quand le joueur clique sur le bouton Scorpion associé le combat commence jusqu'à que mort s'en suive.

    Donc à un moment dans l'ActionPerformed j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    while(verif == 2){       //magic number, tant que personne n'est mort:
     
    				monstreAttaque(combatDescription, scorpion, "Scorpion", j);		
    				try {
    					joueurAttaque(combatDescription, scorpion, j);
    				} catch (BadLocationException e) {
    					e.printStackTrace();
    				}
     
    				combatDescription.setText(combatDescription.getText() + "\n");
    //On vérifie si quelqu'un est mort, si oui on arrête le combat en sortant de la boucle.
    				this.verif = verificationDeFinCombat(combatDescription, j.getHp(), scorpion.getHp(), scorpion, j);
    			}
    Donc ma façon de faire avec le JTextPane c'est qu'à chaque fois qu'une fonction "attaque" est déclenchée j'actualise sur mon IHM mon "combatDescription" en ajoutant à chaque fois la suite du combat. (Je reprend l'intégralité du text avec getText() et ajoute la suite)

    J'ai ajouté une fonction qui prend un String en paramètre pour actualiser mon JTtextPane comme tu me la conseillé mais j'ai l'imrpession de ne pas en avoir besoin, j'arrive à ça pour joueurAttaque:

    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
     
    public void joueurAttaque(JTextPane combatDescription, Monstre m, Joueur j) throws BadLocationException{
    		combatDescription.setText(combatDescription.getText() + "\n");
    		combatDescription.setText(combatDescription.getText() + "Vous attaquez et vous infligez " + j.getDegat() + " Dégâts." + " Il lui reste " + (m.getHp() - j.getDegat()) + " HP.");
    		if(j.getBonusRegeneration() > 0){
    			combatDescription.setText(combatDescription.getText() + "\n");
     
    			StyledDocument doc = combatDescription.getStyledDocument();
    			MutableAttributeSet keyWord = new SimpleAttributeSet();
    			StyleConstants.setForeground(keyWord, Color.blue);
     
    			doc.insertString(doc.getLength(), "Vous récupérez " + j.getBonusRegeneration() + " HP grâce à votre régénération.", keyWord);
    			//actualiseCombatDescription(combatDescription, "Vous récupérez " + j.getBonusRegeneration() + " HP grâce à votre régénération.");
     
    			j.setHP(j.getHp() + j.getBonusRegeneration());
    		}
    		m.setHp(m.getHp() - j.getDegat());
    	}
     
    public JTextPane actualiseCombatDescription(JTextPane combatDescription, String s){
    		combatDescription.setText(combatDescription.getText() + s);
    		return combatDescription;
    	}
    Dans la close "if" je voudrais juste rajouter le string "Vous récupérez " + j.getBonusRegeneration() + " HP grâce à votre régénération" en bleu, mais ca me met tout le combatDescription en bleu.

  16. #16
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Ok
    j'essais de te faire un code avec le pattern Observer et en MVC au moins tu verra tout détaillé

  17. #17
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Voici ton modèle

    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
    package model;
     
    import java.util.Observable;
     
     
    public class TestModel extends Observable
    {
     
    	private String testString;
     
    	public String getTestString()
    	{
    		return testString;
    	}
     
    	public void setTestString(String testString)
    	{
    		this.testString = testString;
    	}
     
    	public void update()
    	{
     
    		setChanged();
    		notifyObservers();
    	}
    }
    En gros ton modèle hérite de observable.

    Voici la GUI

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    package vue;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.util.Observable;
    import java.util.Observer;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.MutableAttributeSet;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyledDocument;
     
    import model.TestModel;
    import javax.swing.JButton;
     
    public class jFrame extends JFrame implements Observer
    {
     
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
    	private Dialog d;
    	private JTextPane jTextPane = null;
    	TestModel tm;
    	  /**
             * This is the default constructor
             */
    	public jFrame()
    	{
    		super();
     
     
     
    		tm = new TestModel();
    		d =new Dialog(this,tm);
    		d.setVisible(true);
    		initialize();
    	}
    	/**
             * This method initializes this
             * 
             * @return void
             */
    	private void initialize()
    	{
    		this.setSize(300, 200);
     
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    		tm.addObserver(this);
     
     
    		}
     
    	/**
             * This method initializes jContentPane
             * 
             * @return javax.swing.JPanel
             */
    	private JPanel getJContentPane()
    	{
    		if (jContentPane == null)
    		{
                jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			jContentPane.add(getJTextPane(), BorderLayout.CENTER);
     
    		}
    		return jContentPane;
    	}
     
     
     
    		/**
                     * This method initializes jTextPane    
                     *      
                     * @return javax.swing.JTextPane        
                     */
    		private JTextPane getJTextPane()
    		{
    			if (jTextPane == null)
    			{
    				jTextPane = new JTextPane();
    				jTextPane.setText("blablablabla ");
     
     
    			}
    			return jTextPane;
    		}
     
    		@Override
    		public void update(Observable o, Object arg)
    		{
    			StyledDocument doc = getJTextPane().getStyledDocument();
    			MutableAttributeSet keyWord = new SimpleAttributeSet();
    			StyleConstants.setForeground(keyWord, Color.blue);
     
    			try
    			{
    				doc.insertString(doc.getLength(), "Vous gagnez 10 points.", keyWord);
    			} catch (BadLocationException e)
    			{
     
    				e.printStackTrace();
    			}
     
    		}
     
     
     
    }
    elle à bien une méthode qui met à jour le textPane

    et ton controlleur
    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
    package controleur;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import model.TestModel;
     
    public class ActionAttaque implements ActionListener
    {
    	TestModel tm;
    	public ActionAttaque(TestModel tm)
    	{
    		this.tm=tm;
    	}
     
     
    	@Override
    	public void actionPerformed(ActionEvent e)
    	{
    		if(e.getActionCommand().equals("scorpions"))
    		{
     
    			tm.update();
     
    		}
     
    	}
     
    }
    Pour faire le test j'ai créer une boite de dialogue avec un bouton scorpion
    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
     
    package vue;
     
    import javax.swing.JPanel;
    import java.awt.Frame;
    import java.awt.BorderLayout;
    import javax.swing.JDialog;
    import javax.swing.JButton;
    import javax.swing.JFrame;
     
    import model.TestModel;
     
    import controleur.ActionAttaque;
     
    public class Dialog extends JDialog
    {
     
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
    	private JButton jButtonScorpion = null;
     
    	TestModel tm;
    	/**
             */
    	public Dialog(JFrame owner,TestModel tm)
    	{
    		super(owner);
    		this.tm=tm;
    		initialize();
    	}
     
    	/**
             * This method initializes this
             * 
             * @return void
             */
    	private void initialize()
    	{
    		this.setSize(300, 200);
    		this.setContentPane(getJContentPane());
    	}
     
    	/**
             * This method initializes jContentPane
             * 
             * @return javax.swing.JPanel
             */
    	private JPanel getJContentPane()
    	{
    		if (jContentPane == null)
    		{
    			jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			jContentPane.add(getJButtonScorpion(), BorderLayout.CENTER);
    		}
    		return jContentPane;
    	}
     
    	/**
             * This method initializes jButtonScorpion      
             *      
             * @return javax.swing.JButton  
             */
    	private JButton getJButtonScorpion()
    	{
    		if (jButtonScorpion == null)
    		{
    			jButtonScorpion = new JButton();
    			jButtonScorpion.setText("scorpions");
    			jButtonScorpion.addActionListener(new ActionAttaque(tm));
    		}
    		return jButtonScorpion;
    	}
     
    }
    Evidemment tout ça doit être arrangé en fonction de ton model ou autre ce n'est qu'une idée.
    Avec ça, suite à l'appuie sur un bouton le texte ce rajoute bien en bleu

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ok je te remercie! Je vais étudier ca et te fait un retour demain!

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ok je vois ce que tu veux faire, c'est surement la meilleure méthode mais ca m'oblige à changer tout mon code si j'adapte. Donc je pense que je vais rester comme ça et trouver la solution dans mon contexte.
    Merci en tout cas, je garde ton code pour un futur projet

Discussions similaires

  1. Différentes couleurs dans un rectangle ?
    Par pffff dans le forum C++
    Réponses: 1
    Dernier message: 07/07/2010, 17h32
  2. [XL-2003] Comment avoir des lignes de différentes couleurs dans un combobox
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2009, 05h10
  3. Changer différentes couleurs dans une image
    Par cashmoney dans le forum Flex
    Réponses: 13
    Dernier message: 08/10/2009, 18h06
  4. Différentes couleurs dans un ComboBox (c++/cli)
    Par bonofred dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2009, 13h09
  5. Ligne de couleurs dans un Jtextpane.
    Par gregb34 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 03/05/2006, 19h02

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