Incrémenter un JLabel.

Résolu/Fermé
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 - 23 mars 2013 à 20:52
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 - 23 mars 2013 à 22:44
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

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
23 mars 2013 à 21:03
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
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 3
23 mars 2013 à 21:59
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
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
23 mars 2013 à 22:27
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
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 3
23 mars 2013 à 22:44
Merci KX ça marche parfaitement, comme je le souhaitais.
Bonne soirée à toi.
0