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 :

[débutant] plusieur bouton -> plusieur variable ?


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut [débutant] plusieur bouton -> plusieur variable ?
    Salut tout le monde,

    voila j'ai quelque petites questions qui m'empêche de me lancer à fond dans le développement de mon GUI.

    Voila j'ai une interface graphique avec 3 boutons. les trois serviront à ouvrir un JColorChooser.

    Ma question est la suivante, est-il mieu ou meme nécessaire de créer trois bouton différents ?

    Ensuite pour le JColorchooser, comment dois-je faire ? trois différent ? parce que par la suite j'aimerai récupérer évidemment les couleur pour les mettre dans une zone de texte...

    merci
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  2. #2
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Bonjour,
    Il faut que tu crée 3 boutons. De toute façon il me semble que swing n'aime pas qu'on affiche plusieurs fois le même composant graphique (à confirmer).
    Fait quelque du style :

    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
    ...
    jbColor1 = new JButton("Couleur1");
    jbcolor1.addActionListener(
       new ActionListener(){
            public void actionPerformed(ActionEvent e){
                  chooseColor(1);
            }
       }
    );
    jbColor2 = new JButton("Couleur2");
    jbcolor2.addActionListener(
       new ActionListener(){
            public void actionPerformed(ActionEvent e){
                  chooseColor(2);
            }
       }
    );
    jbColor3 = new JButton("Couleur3");
    jbcolor3.addActionListener(
       new ActionListener(){
            public void actionPerformed(ActionEvent e){
                  chooseColor(3);
            }
       }
    );
    ....
    private void chooseColor(int n){
          monSelecteurDeCouleur.show();
          Color c = monSelecteurDeCouleur.getSelectedColor();
          switch(n){
               case 1: color1=c;
                           break;
               case 2: color2=c;
                           break;
               case 3: color2=c;
                           break;
               default:
                           System.err.pritnln("La couleur n°"+n+" n'est pas définie");
                           break;
          }
    }

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Trois boutons mais un seul JColorChooser qui resservira pour les trois boutons. Le seul but du JColorChooser est de fournir une couleur. Ensuite tu as trois variables de type Color dans ta classe que tu affectes à la fermeture du JColorChooser avec la méthode getColor de celui ci. Ensuite tu fais ce que tu veux avec ces variables

    [edit] grillé et non swing ne permet pas d'afficher plusieurs fois le même composant
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    et je déclare comment mon JcolorChooser ?

    comme sa ? :
    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 JColorChooser chooseColor = null;
     
    public JPanel showColorPanel(){
    			JPanel panelColor = new JPanel();
    			chooseColor = new JColorChooser();
    			FlowLayout layoutColor = new FlowLayout();
    			panelColor.setLayout(layoutColor);
    			panelColor.setSize(new Dimension(400,400));
    			panelColor.setName("PanelColor");
    			panelColor.add(chooseColor);
    			return panelColor;
     
    		}
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JColorChooser.showDialog
    ??
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    du showDialog de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myCOlor =JColorChooser.showDialog();
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    mais jai essayer mais sa ne fonctionne pas ! javais fais Color myColor = JColorChooser.showDialog dans le actionlistener et sa me mettai une erreur d'incompatibilité
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    je crois que j'ai réussi a faire qqch ! voila comment jai fais !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void showColorPanel(){
    			Color myColor = JColorChooser.showDialog(this, "test", Color.black);
    		}
    ensuite sur mon bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    buttonColorFontTitle.addActionListener(new ActionListener(){
            	public void actionPerformed(ActionEvent e) {
            		showColorPanel();       		
        		}
            	});
    mais maintenant comment faire pour que lorsque je clique sur le bouton ok de mon JColorChooser, il ajoute a un JLabel ?
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    jai réussi a faire qqch ! voila mon code maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void showColorPanel(){
    			Color myColor = JColorChooser.showDialog(this, "InfoPanel Creator :: Choose Color", Color.black);
    			int geterCol = myColor.getRGB();
    			labelRepFontTitle.setText("La couleur est : "+geterCol);
    		}
    et l'action de mon button:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    buttonColorFontTitle.addActionListener(new ActionListener(){
            	public void actionPerformed(ActionEvent e) {
            		showColorPanel();   
        		}
            });
    mais maintenant y'a til un moyen de faire apparaitre le nom de la couleur ou bien encore mieu d'afficher le code hexadécimal de la couleur ?
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Je te renvoie à ton précédent sujet et l réponse que je t'avais apporté: http://www.developpez.net/forums/sho...d.php?t=231679

    Et même conclusion: pour ce genre de questions tu iras plus vite en cherchant toi même dans la javadoc:
    Pour la classe Color: http://java.sun.com/j2se/1.5.0/docs/...awt/Color.html
    et pour la javadoc en général:
    http://java.sun.com/j2se/1.5.0/docs/api/

    Et enfin Sun propose un grand nombre de tutoriaux très utiles et vachement bien foutus: https://java.sun.com/docs/books/tutorial/uiswing/


    Enfin pour ce genre de questions je te renvoie à ta propre signature.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    oui juste ! jai réussi mainteant ! voici ma solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void showColorPanel(){
    			if((myColor=JColorChooser.showDialog(this,"InfoPanel Creator :: Choose Color",Color.BLACK))!=null){
    				labelRepFontTitle.setText("Your Color");
        			labelRepFontTitle.setForeground(myColor);
        		}
    		}
    et le l'action du bouton cest simplement l'appel de cette méthode.

    Mais maintenant avant de continuer, j'aimerai savoir comment procéder si je dois mainteant rajouter un autre bouton qui aurai la meme fonction ??
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    cest bon jai trouver !
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

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

Discussions similaires

  1. [2.x] plusieurs formulaires et plusieurs boutons
    Par jejeman dans le forum Symfony
    Réponses: 6
    Dernier message: 21/10/2013, 17h06
  2. Réponses: 20
    Dernier message: 17/07/2009, 10h17
  3. [LabVIEW 8.2][Débutant] Fusionner plusieurs boutons
    Par ptit_knard dans le forum LabVIEW
    Réponses: 5
    Dernier message: 26/11/2008, 15h47
  4. Réponses: 1
    Dernier message: 02/06/2008, 00h29
  5. Réponses: 3
    Dernier message: 30/05/2008, 09h03

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