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 :

Condition "if" erroné?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Par défaut Condition "if" erroné?
    Bonjour, dans ma fonction "public void actionPerformed(ActoinEvent evt)", se trouvant dans ma classe Gui1,
    je voudrais savoir si cette condition ci dessous, est-t-elle correcte?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    if (Lcouleur.getActionCommand()==("Rouge"))
     
    if (Lfigure.getActionCommand().equals("Rectangle"))

    Voici mon code dans lequel, il est utilisé:
    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.String;
     
    class LFigure extends JComboBox implements ActionListener
    {
    	JPanel ardoise;
    	LFigure(JPanel ardoise)
    	{
    		super();
    		String[] libelleFigure={"Rectangle","Circle"};
    		for (int i=0;i<libelleFigure.length;i++)
    			{this.addItem(libelleFigure[i]);}
    		ardoise.add(this);
    	}
     
    	public String getFigure()
    	{
    		return (this.getActionCommand());
    	}
    }
     
    class LCouleur extends JComboBox implements ActionListener
    {
     
    	JPanel ardoise;
    	LCouleur(JPanel ardoise)
    	{
    		super();
    		String[] libelleCouleurs={"Bleue", "Rouge", "Jaune", "Vert"};
    		for (int i=0;i<libelleCouleurs.length;i++)
    			{this.addItem(libelleCouleurs[i]);}
    		ardoise.add(this);
    	}
     
    	public String getCouleur()
    	{
    		return (this.getActionCommand());
    	}
    }
     
    class Gui1 extends JPanel implements ActionListener
    {
    	JPanel ardoise = new JPanel();
    	JPanel lesboutons = new JPanel();
    	LFigure Lfigure = new LFigure(ardoise);
    	LCouleur Lcouleur = new LCouleur(ardoise);
     
    	JButton affiche=new JButton("affiche");
     
    	JPanel pano = new JPanel();
     
    	Gui1()
    	{
     		setLayout(new BorderLayout(50,10));
    // 		ardoise.setSize(new Dimension(15,15));
    		affiche.addActionListener(this);
     		ardoise.add(affiche);
    		add("North",ardoise);
    		add("Center",pano);
    	}
     
    	public void actionPerformed(ActionEvent evt)
    	{	
    		Graphics g = pano.getGraphics();
    		if (Lcouleur.getActionCommand().equals("Rouge"))
    				{g.setColor(Color.red);}
    		if (Lcouleur.getCouleur().equals("Bleue"))
    				g.setColor(Color.blue);
    		if (Lcouleur.getCouleur().equals("Jaune"))
    				g.setColor(Color.yellow);
    		if (Lcouleur.getCouleur().equals("Vert"))
    				g.setColor(Color.green);
    		if (Lfigure.getActionCommand().equals("Rectangle"))
    				{Rectangle r1 = new Rectangle("Rectangle");
    					r1.draw(g);}
    		if (Lfigure.getFigure().equals("Circle"))
    				{Circle r2 = new Circle("Circle");
    					r2.draw(g);}
    	}
     
    	public static void main(String[] argv)
    	{
    		JFrame monCadre = new JFrame();
    		monCadre.setContentPane(new Gui1());
    		monCadre.pack();
    		monCadre.setVisible(true);
    		monCadre.show();
    	}	
    }
    Avec la condition "if" utilisé ci dessus, j'arrive pas à afficher.
    Par contre,quand je retire la condition du "if", par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void actionPerformed(ActionEvent evt)
    	{	
    		Graphics g = pano.getGraphics();
    		{g.setColor(Color.red);
                       Rectangle r1 = new Rectangle("Rectangle");					r1.draw(g);}
    cela m'affiche bien un rectangle en rouge.

    Forcement, j'ai un probleme avec mes conditions "if".

    Je vous remercie d'avance,
    diditin

  2. #2
    Membre éclairé Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par défaut
    Pour comparé deux String utilise .equals("le_texte") ;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Par défaut
    C'est ce que j'ai fais, mais je pense pas que ca viens plutot de mes methodes dans la classe LFigure et LCouleur,:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String getCouleur()
    	{
    		return (this.getActionCommand());
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String getFigure()
    	{
    		return (this.getActionCommand());
    	}
    Je vous remercie d'avance,
    Merci diditin

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Justement, tes méthodes sont bizarres, est ce que tu settes une fois la commande ? Moi je verrais plutot des méthodes comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String getCouleur()
    	{
    		return (this.getSelectedItem());
    	}

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Par défaut reponse
    J'ai deja essayé mais cela me donne des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Gui1.java:20: incompatible types
    found   : java.lang.Object
    required: java.lang.String
                    return (this.getSelectedItem());
                                                ^
    Gui1.java:39: incompatible types
    found   : java.lang.Object
    required: java.lang.String
                    return (this.getSelectedItem());
                                                ^
    Je ne vois plus aucune solution!!Veuillez m'aider svp!!
    merci d'avance
    diditin

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    C'est simplement qu'il faut renvoyer un String et que getSelectedItem renvoie un objet, il te suffit de faire quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String getCouleur()
    	{
    		return (String.valueOf(this.getSelectedItem()));
    	}

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

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