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 :

La couleur n'apparaît pas !


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Par défaut La couleur n'apparaît pas !
    Je débute en java à l'aide du livre Programmer en Java de Claude DELANNOY aux éditions eyrolles.

    j'utilise ECLIPSE pour apprendre.

    Je viens de taper le code suivant

    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
     
    class Mafenetre extends JFrame 
    {public Mafenetre()
    { setTitle("Emploi d'actions") ; setSize(300,100) ; 
     
    menu = new JMenuBar();
    setJMenuBar(menu);
    menuCouleur = new JMenu("COULEUR");
    menu.add(menuCouleur);
    actionRouge = new MonAction ("EN ROUGE", Color.red);
    actionJaune = new MonAction ("EN JAUNE", Color.yellow);
    menuCouleur.add(actionRouge);
    menuCouleur.add(actionJaune);
     
    boutonRouge = new JButton((String)actionRouge.getValue(Action.NAME));
    getContentPane().add (boutonRouge , "South");
    boutonRouge.addActionListener(actionRouge);
     
     
    }
    private MonAction actionRouge, actionJaune;
    private JMenuBar menu;
    private JMenu menuCouleur;
    private JMenuItem optionRouge, optionJaune;
    private JButton boutonRouge;
    }
     
     
    class MonAction extends AbstractAction
    {
    	public MonAction (String nom, Color couleur)
    	{
    		super(nom);
    		this.couleur = couleur;
     
    	}
         public void actionPerformed (ActionEvent e)
         {
        	 if (couleur == Color.red)
        		 System.out.println("action rouge, chaine de commande : " +e.getActionCommand());
        	 if (couleur == Color.yellow)
        		 System.out.println("action jaune, chaine de commande : "+e.getActionCommand());
     
         }
     private Color couleur;
     
    }
     
    public class Actions3
    {
    	public static void main(String args[])
    	{
    		Mafenetre fen = new Mafenetre();
    		fen.setVisible(true);
     
    	}
    }
    je ne comprends pas pourquoi ni la couleur rouge, ni la couleur jaune n'apparaît dans l'objet Mafenetre. Quelqu'un pourraît m'éclairer ?
    merci d'avance

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par Max_zen Voir le message
    je ne comprends pas pourquoi ni la couleur rouge, ni la couleur jaune n'apparaît dans l'objet Mafenetre
    bonjour.
    dans ta classe auditeur aux actions sur les menus Rouge et jaune, tu n'as pas spécifié le fait de donner une couleur à ta fenêtre dans la méthode actionPerformed.
    il faut donc ajouter cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre.getContentPane().setBackground(couleur);
    et ajouter un attribut fenetre qui fait réference à ta fenétre que tu veux colorier .
    aprés changement, ton code devient :
    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
     
    class Mafenetre extends JFrame 
    {public Mafenetre()
    { 
    setTitle("Emploi d'actions") ; setSize(300,100) ; 
    menu = new JMenuBar();
    setJMenuBar(menu);
    menuCouleur = new JMenu("COULEUR");
    menu.add(menuCouleur);
    actionRouge = new MonAction (this,"EN ROUGE", Color.red);
    actionJaune = new MonAction (this,"EN JAUNE", Color.yellow);
    menuCouleur.add(actionRouge);
    menuCouleur.add(actionJaune);
    boutonRouge = new JButton((String)actionRouge.getValue(Action.NAME));
    getContentPane().add (boutonRouge , "South");
    boutonRouge.addActionListener(actionRouge);
     
     
    }
    private MonAction actionRouge, actionJaune;
    private JMenuBar menu;
    private JMenu menuCouleur;
    private JMenuItem optionRouge, optionJaune;
    private JButton boutonRouge;
    }
     
     
    class MonAction extends AbstractAction
    {
        JFrame fenetre;
     
        public MonAction (JFrame fenetre,String nom, Color couleur)
        {
            super(nom);
            this.couleur = couleur;
            this.fenetre=fenetre;
     
        }
         public void actionPerformed (ActionEvent e)
         {
             if (couleur == Color.red)
                 System.out.println("action rouge, chaine de commande : " +e.getActionCommand());
     
             if (couleur == Color.yellow)
                 System.out.println("action jaune, chaine de commande : "+e.getActionCommand());
     
             fenetre.getContentPane().setBackground(couleur);
     
         }
     private Color couleur;
     
    }
     
    public class Actions3
    {
        public static void main(String args[])
        {
            Mafenetre fen = new Mafenetre();
            fen.setVisible(true);
     
        }
    }

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Par défaut Merci
    Merci

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/04/2010, 18h26
  2. Réponses: 3
    Dernier message: 07/09/2006, 18h45
  3. [Applet] qui n'apparaît pas.
    Par Vesperal dans le forum Applets
    Réponses: 2
    Dernier message: 09/06/2006, 16h28
  4. L'icône "retirer le périphérique.." n'apparaît pas
    Par al1_24 dans le forum Ordinateurs
    Réponses: 8
    Dernier message: 30/03/2006, 23h58
  5. Réponses: 5
    Dernier message: 12/12/2005, 08h52

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