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 :

Erreur d'affichage de mes JCombobox


Sujet :

AWT/Swing Java

  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 Erreur d'affichage de mes JCombobox
    J'ai cré deux JComboBox et un JButton.Mon code se compile sans erreur mais g un probleme d'affichage. La liste de mes deux JComboBox n'apparaissent pas!!!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom du fichier: Gui1.java
    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
     
    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)
    	{
    		String[] libelleFigure={"Rectangle","Circle"};
    		JComboBox Lfigure=new JComboBox();
    		for (int i=0;i<libelleFigure.length;i++)
    			{Lfigure.addItem(libelleFigure[i]);}
    		this.ardoise=ardoise;
    		addActionListener(this);
    	}
     
    	public String getFigure()
    	{
    		return (this.getActionCommand());
    	}
    }
     
    class LCouleur extends JComboBox implements ActionListener
    {
     
    	JPanel ardoise;
     
    	LCouleur(JPanel ardoise)
    	{
    		String[] libelleCouleurs={"Bleue", "Rouge", "Jaune", "Vert"};
    		this.setBackground(Color.lightGray); 
    		JComboBox Lcouleur=new JComboBox();
     
    		for (int i=0;i<libelleCouleurs.length;i++)
    			{Lcouleur.addItem(libelleCouleurs[i]);}
     
    		this.ardoise=ardoise;
    		addActionListener(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;
     
     
    	Gui1()
    	{
    		setLayout(new BorderLayout(5,5));
    		ardoise.setSize(new Dimension(200,150));
    		lesboutons.add(Lfigure);
    		lesboutons.add(Lcouleur);
    		add("North",lesboutons);
    		add("Center",ardoise);
    		affiche=new JButton("Afficher");
    		affiche.addActionListener(this);
    		lesboutons.add(affiche);
    	}
     
    	public void actionPerformed(ActionEvent ev)
    	{	
    		Graphics g = ardoise.getGraphics();
     
    		if (ev.getSource().equals("afficher"))
    		{
    			if (Lcouleur.getCouleur().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.getFigure().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();
        	}	
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom du fichier: TestGraphics.java
    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
     
    import java.awt.*;
    import javax.swing.*;
     
    public class TestGraphics extends JFrame{
    	Gui1 dessin=new Gui1();
    	public TestGraphics(){
    		super("TestGraphics");
    		add(dessin);
    		setSize(new Dimension(400,400));
    		pack();
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setVisible(true);
    	}
    	public static void main(String[] args){
    		TestGraphics mm=new TestGraphics();
    		mm.show();
     
    	}
    }
    Je vous remercie d'avance,

    diditin

  2. #2
    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 logique, car tu ajoutes tes items à un objet que tu crée à l'intérieur de la classe au lieu des les ajouter à la classe elle-même.

    Il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LFigure(JPanel ardoise)
    	{
    		String[] libelleFigure={"Rectangle","Circle"};
    		for (int i=0;i<libelleFigure.length;i++)
    			{addItem(libelleFigure[i]);}
    		this.ardoise=ardoise;
    		addActionListener(this);
    	}
    et pareil pour ta deuxième classe

  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 Un autre ptit truc
    merci "wichtounet", oui je viens de prendre conscience de mon erreur juste apres que j'ai posté l'annonce...Desolé...Mais le probleme suivant est que je n'arrive pas à afficher le dessin quand j'appuie sur le bouton "affiche".

    Faut-il que je crée un nouveau panel et que j'associe chaque dessin, qui va etre cré, au nouveau panel?Il me semble plus raisonnable de faire ainsi, n'est-ce pas?

    Peux-tu me dire ce que j'ai ecris ci-dessous est correct , au cas ou j'ai ecris des betises.Merci bien.

    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 actionPerformed(ActionEvent ev)
    	{	
    		Graphics g = ardoise.getGraphics();
     
    		if (ev.getSource().equals("affiche"))
    		{
    			if (Lcouleur.getCouleur().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.getFigure().equals("Rectangle"))
    				{Rectangle r1 = new Rectangle("Rectangle");
    					r1.draw(g);}
    			if (Lfigure.getFigure().equals("Circle"))
    				{Circle r2 = new Circle("Circle");
    					r2.draw(g);}
    		}	
    	}

    Pourquoi dans la reponse que tu m'as donnée, dans la boucle for, t'as pas mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Lcouleur.addItem(libelleCouleurs[i]);
    tu as mis seulement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     addItem(libelleCouleurs[i]);}
    ?
    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
    Citation Envoyé par diditin
    merci "wichtounet", oui je viens de prendre conscience de mon erreur juste apres que j'ai posté l'annonce...Desolé...Mais le probleme suivant est que je n'arrive pas à afficher le dessin quand j'appuie sur le bouton "affiche".

    Faut-il que je crée un nouveau panel et que j'associe chaque dessin, qui va etre cré, au nouveau panel?Il me semble plus raisonnable de faire ainsi, n'est-ce pas?

    Peux-tu me dire ce que j'ai ecris ci-dessous est correct , au cas ou j'ai ecris des betises.Merci bien.

    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 actionPerformed(ActionEvent ev)
    	{	
    		Graphics g = ardoise.getGraphics();
     
    		if (ev.getSource().equals("affiche"))
    		{
    			if (Lcouleur.getCouleur().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.getFigure().equals("Rectangle"))
    				{Rectangle r1 = new Rectangle("Rectangle");
    					r1.draw(g);}
    			if (Lfigure.getFigure().equals("Circle"))
    				{Circle r2 = new Circle("Circle");
    					r2.draw(g);}
    		}	
    	}
    Merci...
    diditin
    Ca m'a l'air juste, quel est le problème exactement ? Tu as une erreur ? Rien qui ne s'affiche ? Autre chose ?

    En fait, ton ev.getSource(), m'a l'air bizarre, normalement il faudrait le comparer avec l'instance de ton bouton et pas son texte.

  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
    Voici mon code comme il est actuellement:
    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
     
    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)
    	{
    		String[] libelleFigure={"Rectangle","Circle"};
    		JComboBox Lfigure=new JComboBox();
    		for (int i=0;i<libelleFigure.length;i++)
    			{Lfigure.addItem(libelleFigure[i]);}
     
    		ardoise.add(Lfigure);
    		addActionListener(this);
    	}
     
    	public String getFigure()
    	{
    		return (this.getActionCommand());
    	}
    }
     
    class LCouleur extends JComboBox implements ActionListener
    {
     
    	JPanel ardoise;
     
    	LCouleur(JPanel ardoise)
    	{
    		String[] libelleCouleurs={"Bleue", "Rouge", "Jaune", "Vert"};
    		this.setBackground(Color.lightGray); 
    		JComboBox Lcouleur=new JComboBox();
     
    		for (int i=0;i<libelleCouleurs.length;i++)
    			{Lcouleur.addItem(libelleCouleurs[i]);}
     
    		this.ardoise=ardoise;
    		ardoise.add(Lcouleur);
    		addActionListener(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;
     
     
    	Gui1()
    	{
    		setLayout(new BorderLayout(5,5));
    		ardoise.setSize(new Dimension(200,150));
    		affiche=new JButton("Afficher");
    		affiche.addActionListener(this);
    		ardoise.add(affiche);
    		add("North",ardoise);
    	}
     
    	public void actionPerformed(ActionEvent ev)
    	{	
    		Graphics g = ardoise.getGraphics();
     
    		if (ev.getSource()==affiche)
    		{
    			if (Lcouleur.getCouleur().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.getFigure().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();
        	}	
    }
    Quand je compile et je l'execute, il y a mes deux JComboBox et mon bouton qui s'affiche. Mais quand je fais un clique sur le bouton affiche ca ne m'affiche rien.

    Est-ce que la solution est de creer un nouveau panel que j'ajouterais a mon JFrame,et dans ce nouveau panel, j'insererai mon dessin?

    Merci bien...
    diditin

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

Discussions similaires

  1. erreur d'affichage de l'URL de mes pages
    Par bassbaki dans le forum JSF
    Réponses: 3
    Dernier message: 06/11/2007, 17h57
  2. [XHTML] erreur d'affichage de page
    Par niniga dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/11/2005, 11h59
  3. Erreur d'affichage d'un entier
    Par LEK dans le forum C++
    Réponses: 1
    Dernier message: 14/10/2005, 15h34
  4. erreur d'affichage
    Par bachilbouzouk dans le forum ASP
    Réponses: 6
    Dernier message: 20/04/2005, 16h39
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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