Incrémenter un JLabel.

Résolu
snp3109 Messages postés 89 Statut Membre -  
snp3109 Messages postés 89 Statut Membre -
Bonjour à tous,
J'ai un problème d'affichage au niveau de mon JLabel textapercutrame.
Voici le résultat que j'aimerai obtenir, quand l'utilisateur sélectionne le bouton "+", cela doit afficher "Voie1", puis quand il ré appui dessus cela doit afficher "Voie1 Voie2" etc.
Je n'ai pas trouvé de solution à ce problème. Si quelqu'un peut me mettre sur la piste. Merci beaucoup.
Voici mon code :

public class fenetre
{
int compteurtanalogique = 0;
private JLabel textapercutrame; //Déclaration de mon JLabel
private JButton plusanalogique = null;
public fenetre()
{
JFrame fenetre =new JFrame("Outil de création");
fenetre.setSize(new Dimension(500,550));
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setLayout(null);

plusanalogique = new JButton("+");
plusanalogique.addActionListener(new compteuranalogique());

private class compteuranalogiqueplus implements ActionListener {
public void actionPerformed(ActionEvent event){
compteurtanalogique++;
textapercutrame.setText(" Voie"+ compteurtanalogique ); }}

public static void main(String[] args)
{
new fenetre();
}
}

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Tu ne peux pas faire ça :

    plusanalogique.addActionListener(new compteuranalogique()); 
    
    private class compteuranalogiqueplus implements ActionListener { 
    public void actionPerformed(ActionEvent event){ 
    compteurtanalogique++; 
    textapercutrame.setText(" Voie"+ compteurtanalogique ); }}

    Par contre tu peux faire ça :

    plusanalogique.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent event)
        { 
            compteurtanalogique++; 
            textapercutrame.setText(" Voie"+ compteurtanalogique);
        }
    });

    Mais tout le reste de ton code est également à revoir, là y a rien qui marche !
    1
    1. snp3109 Messages postés 89 Statut Membre 3
       
      Je te donne tout mon code, j'ai réussi à faire tout marcher. J'ai obtenu ce que j'avais besoin sauf pour l'affichage du JLabel textapercutrame.
      import javax.swing.*;
      import java.awt.*;
      import java.text.*;
      import java.util.*;
      import javax.swing.JFrame;
      import javax.swing.JPanel;
      import java.awt.GridBagLayout;
      import java.awt.BorderLayout;
      import java.awt.event.*;
      import javax.swing.JButton;
      import java.awt.event.ActionEvent;
      import java.awt.Dialog;
      import java.applet.*;

      public class fenetre
      {
      int compteurtor = 0;
      int compteurtanalogique = 0;
      int compteurnbrvoie = 0;

      private JLabel lab = null;
      private JLabel lab1 = null;
      private JLabel lab2 = null;
      private JLabel lab3 = null;
      private JLabel lab4 = null;
      private JLabel lab5 = null;
      private JLabel lab6 = null;
      private JLabel lab7 = null;
      private JLabel lab8 = null;
      private JLabel lab9 = null;
      private JLabel lab10 = null;
      private JTextField text;
      private JTextField text1;
      private JTextField text61;
      private JLabel textapercutrame;

      private JComboBox cb = null;
      private CheckboxGroup groupe = null;
      private Checkbox checkbox1 = null;
      private Checkbox checkbox2 = null;
      private JButton plusanalogique = null;
      private JButton moinsanalogique = null;
      private JButton plustor = null;
      private JButton moinstor = null;
      private JButton valider = null;
      private JButton annuler = null;
      private JCheckBox jrmi1;

      public fenetre()
      {
      JFrame fenetre =new JFrame("Outil de création de nouveaux formats de trame");
      fenetre.setSize(new Dimension(500,550));
      fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JPanel pan=new JPanel();
      pan.setBackground(new Color(71,145,203));

      pan.setLayout(null);

      lab=new JLabel("---------------------------------------------------Nouveau SNR---------------------------------------------------");
      lab.setBounds(0,0,500,60);
      pan.add(lab);

      lab1=new JLabel("Nom du nouveau format de trame :");
      lab1.setBounds(8,38,200,60);
      pan.add(lab1);
      text = new JTextField("NouveauSNR");
      text.setBounds(206,58,110,20);
      pan.add(text);

      lab2=new JLabel("---------------------------------------------Définition de la trame----------------------------------------------");
      lab2.setBounds(0,74,500,60);
      pan.add(lab2);

      lab3=new JLabel("Octet de départ : ");
      lab3.setBounds(8,110,100,60);
      pan.add(lab3);
      text1 = new JTextField("FF");
      text1.setBounds(105,130,30,20);
      pan.add(text1);

      lab7=new JLabel("Ajouter/Supprimer une voie analogique : ");
      lab7.setBounds(8,154,230,50);
      pan.add(lab7);
      plusanalogique = new JButton("+");
      plusanalogique.setBounds(300,154,41,41);
      plusanalogique.addActionListener(new compteuranalogiqueplus());
      plusanalogique.addActionListener(new compteurvoieplus());
      pan.add(plusanalogique);
      moinsanalogique = new JButton("-");
      moinsanalogique.setBounds(342,154,41,41);
      moinsanalogique.addActionListener(new compteuranalogiquemoins());
      moinsanalogique.addActionListener(new compteurvoiemoins());
      pan.add(moinsanalogique);

      lab8=new JLabel("Ajouter/Supprimer une voie Tout Ou Rien(TOR) : ");
      lab8.setBounds(8,190,270,50);
      pan.add(lab8);
      plustor= new JButton("+");
      plustor.setBounds(300,196,41,41);
      plustor.addActionListener(new compteurtorplus());
      pan.add(plustor);
      moinstor = new JButton("-");
      moinstor.setBounds(342,196,41,41);
      moinstor.addActionListener(new compteurtormoins());
      pan.add(moinstor);

      lab6=new JLabel("Nombre de voies : ");
      lab6.setBounds(8,240,110,20);
      pan.add(lab6);

      text61 = new JTextField("0");
      text61.setBounds(115,238,25,25);
      pan.add(text61);

      lab4=new JLabel("Dans la ");
      lab4.setBounds(8,252,50,65);
      pan.add(lab4);
      cb=new JComboBox();
      cb.setBounds(55,275,130,20);
      pan.add(cb);
      lab5=new JLabel("Nombre d'octets : ");
      lab5.setBounds(190,252,105,65);
      pan.add(lab5);
      CheckboxGroup groupe = new CheckboxGroup();
      checkbox1=new Checkbox("1",groupe,true);
      checkbox1.setBounds(300,271,30,30);
      pan.add(checkbox1);
      checkbox2=new Checkbox("2",groupe,false);
      checkbox2.setBounds(300,287,40,40);
      pan.add(checkbox2);

      jrmi1 = new JCheckBox("Checksum");
      jrmi1.setSelected(true);
      jrmi1.setBounds(8,330,95,20);
      pan.add(jrmi1);

      lab9=new JLabel("-----------------------------------------------Aperçu de la trame-----------------------------------------------");
      lab9.setBounds(0,340,500,60);
      pan.add(lab9);

      textapercutrame = new JLabel("FF"+" CRC");
      textapercutrame.setBounds(50,400,200,25);
      pan.add(textapercutrame);


      JButton valider= new JButton("Valider");
      valider.setBounds(140,475,90,30);
      pan.add(valider);
      JButton annuler= new JButton("Annuler");
      annuler.setBounds(250,475,90,30);
      pan.add(annuler);

      fenetre.setContentPane(pan);
      fenetre.setVisible(true);
      fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }

      private class compteuranalogiqueplus implements ActionListener {
      public void actionPerformed(ActionEvent event){
      compteurtanalogique++;
      text61.setText(Integer.toString(compteurtanalogique+compteurtor));
      textapercutrame.setText("FF"+" Voie"+ compteurtanalogique + " CRC" );
      lab4=new JLabel("Dans la ");

      }}

      private class compteuranalogiquemoins implements ActionListener {
      public void actionPerformed(ActionEvent event){
      if(compteurtanalogique>0){
      compteurtanalogique--;
      text61.setText(Integer.toString(compteurtanalogique+compteurtor));}}}

      private class compteurtorplus implements ActionListener {
      public void actionPerformed(ActionEvent event) {
      compteurtor++;
      text61.setText(Integer.toString(compteurtor+compteurtanalogique)); }}

      private class compteurtormoins implements ActionListener {
      public void actionPerformed(ActionEvent event)
      { if(compteurtor>0){
      compteurtor--;
      text61.setText(Integer.toString(compteurtor+compteurtanalogique));}}}

      private class compteurvoieplus implements ActionListener{
      public void actionPerformed(ActionEvent event){
      compteurnbrvoie++;
      cb.addItem("voie analogique"+compteurnbrvoie);}}

      private class compteurvoiemoins implements ActionListener{
      public void actionPerformed(ActionEvent event){ if(compteurnbrvoie>0){
      cb.removeItem("voie analogique"+compteurnbrvoie);
      compteurnbrvoie--;}}}

      public static void main(String[] args)
      {
      new fenetre();
      }
      }
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      Tu peux faire comme ceci :

      public void actionPerformed(ActionEvent event)
      {
          compteurtanalogique++;
          text61.setText(Integer.toString(compteurtanalogique+compteurtor));
          
          StringBuilder sb = new StringBuilder("FF");
          for (int i=1; i<=compteurtanalogique; i++)
              sb.append(" Voie").append(i);
          sb.append(" CRC");
          textapercutrame.setText(sb.toString());
          
          lab4=new JLabel("Dans la ");
      }
      0
    3. snp3109 Messages postés 89 Statut Membre 3
       
      Merci KX ça marche parfaitement, comme je le souhaitais.
      Bonne soirée à toi.
      0