Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1404 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Changer l'intitulé d'un bouton en Swing

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Changer l'intitulé d'un bouton en Swing

n°1120393
Donnie59
Posté le 15-06-2005 à 10:25:59  profilanswer
 

    Bonjour à vous amis forumers,
J'aimerais changer un bouton "GO !" en bouton "Stop", j'utilise la méthode setText()mais cela ne marche pas. On m'a dit d'utiliser validate() mais je ne sais pas où (dans ActionPerformed ou dans ajoute0 où j'ai initialisé le bouton "GO !" ). Je vous mets mon code avec en gras l'endroit du problème :
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.String;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
 
import java.util.NoSuchElementException;
 
 
class TestCommande extends JFrame implements ActionListener
{
 
  JLabel label = new JLabel("Bienvenue: vous pouvez tester les boutons" );
  JComboBox choix =new JComboBox();
   
  // Constructeur de la classe
  TestCommande()
    {  
  // Création des panneaux Nord (où sera le clavier virtuel) et Sud (où se trouve le panneau de commande)
      JPanel pNorth = new JPanel();
      JPanel pSouth = new JPanel();
       
 
  // Conteneur : contient l'ensemble des composants de l'interface utilisateur  
      Container interieur = getContentPane();
 
  // Contenu des Label pour le panneau Nord : ma photo tient la place du futur clavier virtuel
      ImageIcon photo = new ImageIcon("Hilton.JPG" );
      JLabel label2 =new JLabel(photo);  
      pNorth.add(label2);
      pNorth.add(new JLabel("C'est ici que se situera le clavier virtuel" ));  
      ajoute2("Espace vide", pNorth);
       
 
  // On divise le panneau Sud en une grille de 2 lignes sur 12 colonnes  
      pSouth.setLayout(new GridLayout(2, 12));
      //pSouth.setBorder(BorderFactory.createTitledBorder("Panneau de Commande :" ));
      pSouth.setBorder(BorderFactory.createMatteBorder(15, 15, 15, 15, Color.blue));
 
      // Les boutons et labels (remplissant la grille) du panneau Sud  
       
      ajoute0("GO !", pSouth);  
       
      pSouth.add(new JTextField("Optimiser un clavier",10));
      pSouth.add(new JTextField("35",10));
      pSouth.add(new JTextField("Bigramme",10));
      pSouth.add(new JTextField("Libre",10));
      pSouth.add(new JTextField("100",10));  
      pSouth.add(new JTextField("0.1",10));
      pSouth.add(new JTextField("20",10));
 
       
       
      ajoute1("Graphique", pSouth);
      ajoute3("Nbre générations :", pSouth);
      ajoute3("0", pSouth);
       
      ajoute4("Reset", pSouth);  
       
      ajoute("Mode", pSouth);
      ajoute("Taille min", pSouth);
      ajoute("Eléments", pSouth);
      ajoute("Forme", pSouth);  
      ajoute("Population", pSouth);
      ajoute("Mutation", pSouth);
      ajoute("Elitisme", pSouth);
       
      ajoute3("", pSouth);
      ajoute3("Performance :", pSouth);
      ajoute3("0", pSouth);
       
  // Ajout des panneaux au conteneur
      interieur.add(pSouth, BorderLayout.CENTER);
      interieur.add(label, BorderLayout.SOUTH);
 
      interieur.add(pNorth, BorderLayout.NORTH);
    }
 
  void ajoute(String s, JPanel pSouth)
    {
  // Permet l'utilisation des boutons
      JButton bouton = new JButton(s);      
      bouton.setBackground(Color.yellow);
 
      bouton.setActionCommand(s);
      bouton.addActionListener(this);
      pSouth.add(bouton);
 
    }
               //Permet l'utilisation du bouton "GO !"
   void ajoute0(String s, JPanel pSouth)
    {
   
      JButton b = new JButton(s);
 
      b.setBackground(Color.green);
      //Font f = new Font ("TimesRoman", Font.BOLD, 18) ;
 
      b.setActionCommand(s);
      b.addActionListener(this);
 
      pSouth.add(b);  
      //pSouth.validate();
    }

             //Permet l'utilisation du bouton "Graphique"
  void ajoute1(String s, JPanel pSouth)
    {  
      ImageIcon img = new ImageIcon("gph.jpeg" );
      JButton bt = new JButton("Graphique", img);
 
      bt.setActionCommand(s);
      bt.addActionListener(this);
      pSouth.add(bt);
    }
 
 
  void ajoute2(String s, JPanel pNorth)
    {
      JLabel espace = new JLabel(s, JLabel.CENTER);
      pNorth.add(espace);
    }
 
                //Représentation des label (performance et nbre de générations)
  void ajoute3(String s, JPanel pSouth)
    {
      JLabel espace = new JLabel(s, JLabel.CENTER);  
      espace.setBackground(Color.red);  
      espace.setOpaque(true);
      pSouth.add(espace);
    }
 
               //Permet l'utilisation du bouton "Reset"
  void ajoute4(String s, JPanel pSouth)
    {
   
      JButton reset = new JButton(s);
      reset.setForeground(Color.white);
      reset.setBackground(Color.black);
       
      reset.setActionCommand(s);
      reset.addActionListener(this);
      pSouth.add(reset);
    }
 
 
  // Réponse à l'utilisation des boutons : quel type de fenêtre de dialogue va s'ouvrir après avoir cliqué sur un bouton
 
  public void actionPerformed(ActionEvent e)
    {
     //JPanel pSouth = new JPanel();
     JButton b = new JButton("GO !" );
     String nom = e.getActionCommand();
     
     if (nom.equals("GO !" ))
 {    
             /*JOptionPane.showMessageDialog(this, "C'est parti! Vous devez appuyer sur 'Stop' pour modifier les paramètres",
          "Lancement du programme",  
          JOptionPane.PLAIN_MESSAGE);*/
       
                           
       b.setText("Stop" );
              b.setBackground(Color.red);
              b.setOpaque(true);
                 
       b.setEnabled(true);  
              validate();
 }

 
 
      else if (nom.equals("Stop" ))
 {  
      JOptionPane.showMessageDialog(this, "C'est fini!",
          "Lancement du programme",  
          JOptionPane.PLAIN_MESSAGE);
       
             //JButton b = new JButton("GO !" );
 }
 
 
      else if (nom.equals("Elitisme" ))  
 {
   String reponse;
   
   String message = "20 ";
   
   reponse = JOptionPane.showInputDialog("Changez le taux d'élitisme : 1/", message);
   
   label.setText(reponse);
 
           
   
 }
       
       
      else if (nom.equals("Mutation" ))  
 {
   String reponse;
   
   String message = "0.1";
   
   reponse = JOptionPane.showInputDialog("Changez le taux de mutation : ", message);
   
   label.setText(reponse);
   
 }
 
      else if (nom.equals("Taille min" ))  
 {
   String reponse;
   
   String message = "35";
   
   reponse = JOptionPane.showInputDialog("Modifiez la taille minimale d'une touche en pixels : ", message);
   
   label.setText(reponse);
   
 }
 
 
      else if (nom.equals("Eléments" ))  
 {
          /*boolean ok = false;
  JFileChooser fc = new JFileChooser();
  fc.setDialogTitle("Indiquez le chemin vers le fichier des bigrammes" );
  demande du chemin vers le fichier des bigrammes
  while (!ok){
  int returnVal = fc.showOpenDialog(cont);
  try{
   if (returnVal == JFileChooser.APPROVE_OPTION) {
    fichierBigramme = fc.getSelectedFile().getPath();
    ok = true;
   }
                        else{
     throw new AnnuleException("erreur fichier bigramme non choisit" );
    }
   }catch(AnnuleException ae){
    JOptionPane.showMessageDialog(cont, ae);
   }
  } */
 
 
   String reponse;
   String message = "Entrez un nouveau fichier des éléments: ";
   reponse = JOptionPane.showInputDialog(this, message);
   label.setText(reponse);
 }
 
      else if (nom.equals("Graphique" ))  
 {
   JOptionPane.showMessageDialog(this,
     "Voici le graphique représentant l'évolution de la population : ",  
     "salut",  
     JOptionPane.PLAIN_MESSAGE);  
 }
 
      else if (nom.equals("Reset" ))
 {
   int reponse = JOptionPane.showConfirmDialog(this,  
          "Voulez-vous vraiment relancer le programme en gardant les mêmes paramètres ?",  
          "Attention",  
           JOptionPane.YES_NO_OPTION);
   if (reponse == JOptionPane.YES_OPTION) label.setText("Nouvelle donne" );
   else if (reponse == JOptionPane.NO_OPTION) label.setText("Retour" );
          else  label.setText("ni l'un ni l'autre ?" );
 }
       
      else if (nom.equals("Forme" ))  
 {
          String reponse;
           
          reponse = JOptionPane.showInputDialog(null, choix);
          label.setText(reponse);
          JPanel panneau = new JPanel();
           
 
          choix.addItem("libre" );
          choix.addItem("azerty" );
          choix.addItem("rectangulaire" );
          panneau.add(choix);
     
          //panneau.add(choix);
   //JPanel panneau2 = new JPanel();
          //setLayout(new BorderLayout(15, 15));
          //add(panneau, BorderLayout.CENTER);
 
 }
 
      else if (nom.equals("Mode" ))
 {
   JOptionPane.showMessageDialog(this, "Optimiser ou Tester ?",
          "salut",  
          JOptionPane.PLAIN_MESSAGE);
 }
 
      else if (nom.equals("Population" ))  
 {
         
   String reponse;
   String message = "100";
   reponse = JOptionPane.showInputDialog("Modifiez le nombre d'individus de la population : ", message);
   label.setText(reponse);
           
 }
 
    }
 
  //private void EssaiChoixTest() {
 
     
     
 
    //JPanel panneau = new JPanel();
 
    //choix.Item("libre" );
    //choix.Item("azerty" );
    //choix.Item("rectangulaire" );  
     
     
    //panneau.add(choix);
    //setLayout(new BorderLayout(15, 15));
    //add(panneau, BorderLayout.CENTER);  
   //}
   
 
 
 
  // fonction principale permettant l'affichage de l'interface
  public static void main(String[] argv)
  {
      System.out.println("Chargement en cours..." );
 
      JFrame monCadre = new TestCommande();
      //JFrame monC = new JFrame();
 
      monCadre.addWindowListener(new WindowAdapter()
         {
     public void windowClosing(WindowEvent e)
       {  
         System.exit(0);  
       }
   });
      monCadre.pack();
      monCadre.setTitle("Clavier et Panneau de contrôle" );
      monCadre.setSize(1280, 980);
      monCadre.setVisible(true);
       
       
      /*monC.setContentPane(new EssaiChoix());
      monC.pack();
      monC.setTitle("Choississez la forme du clavier : " );
      monC.setSize(300, 200);
      monC.setVisible(true);*/
 
  }
}
 
 
C'est énervant, ce problème qui semble simple me bloque pour la suite et je vous remercie par avance pour aide précieuse :)

mood
Publicité
Posté le 15-06-2005 à 10:25:59  profilanswer
 

n°1120974
Donnie59
Posté le 15-06-2005 à 15:56:13  profilanswer
 

C'est bon, j'ai résolu mon problème : inutile de répondre et dsl j'ai oublié de mettre les balises code


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Changer l'intitulé d'un bouton en Swing

 

Sujets relatifs
Gestion du focus : Empecher un bouton de prendre le focus !?comment lancer un.bat avec un bouton
[JAVA] Changer le node dans un JTree ?[resolu]comment empecher les utilisateurs de changer de feuil?
Bouton VB[VBA] copier la colonne d'une feuille dans une autre
Framework SwingChanger dynamiquement des propriétés d'une classe CSS
Changer de dossier.rajouter un bouton dans un template phpbb
Plus de sujets relatifs à : Changer l'intitulé d'un bouton en Swing


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR