JTabbedPane, fixer des boutons

ilmb Messages postés 10 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 18 avril 2005 - 17 avril 2005 à 20:43
ilmb Messages postés 10 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 18 avril 2005 - 18 avril 2005 à 12:31
Bonjour,

Je suis entrain de créer un JTabbedPane et je voudrais que des boutons soit déclarés dans tout mes onglets afin de faire qu'un listerner? J'ai aussi un jtextfield qui affiche un score, mais d'un onglet à l'autre les scores ne sont pas les mêmes puisque les crores sont propres à chaque onglet comment me débarrasser de cela?

Merci d'avance.


lm

2 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
18 avril 2005 à 11:10
ta question est pas claire!

si tu ve
que les textfields aient la même valeur tu pe les attacher tous à un
changelistener qui permetra de recopier la valeur du textfield changé
dans tous les autres. et pour les bouttons g pas copris la question non
plus. si tu ve attacher tous les boutons au même ActionListener
monListener par exemple, tu appel pour chaque boutton la méthode
bi.addActionListener(monListener); avec monlistener deja définit sinon
this si ta classe implements ActionListener et redefini
actionPerformed(ActionEvent).
0
ilmb Messages postés 10 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 18 avril 2005
18 avril 2005 à 12:31
Bonjour,
Mon problème est que mes scores étaient différents dans chaque onglet tant que l'utilisateur n'efféctuait pas d'action. as tu un exemple de ton explication?
Ta réponse réponds bien à ma question mais je sais pas comment l'appliquer. Pour l'instant je suis passé par un timer mais c'est pas très élégant.
Faut t'il avoir un actionPerformed(ActionEvent) dans mon JTabbedPane?
CTraitement est ma class qui me permet de sauvegarder toutes mes variables intermédiaires.
Je l'appel pour changer mes valeurs.
En rouge ce que j'aimerai fixer dans tous les onglets.

Merci


public class Onglets extends JPanel implements ActionListener{

//declaration des composants
Label [] lNum=new Label[6];
JButton [] btNumJ=new JButton[6];
JButton [] btCrit;
JTabbedPane tpOnglet;
JPanel panelReel = new JPanel(new GridLayout(2,3));
JPanel panelCritere;
Box panelBouton = Box.createHorizontalBox();
Box panelInfo = Box.createHorizontalBox();
JTextField jtSet;
JTextField jtVB;
JTextField jtAdv;
Timer timer;



//declaration des variables globales
CTraitement t;
int nbCrit;


public void creationComposants(){
timer.start();
JPanel panelPos = new JPanel(new GridLayout(2,3));

for(int i=0;i<6;i++){
lNum[i]=new Label();
panelPos.add(lNum[i]);
}

JPanel panelScore = new JPanel(new GridLayout(3,2));
Label lSet = new Label("Set");
jtSet = new JTextField("1");
jtSet.setEnabled(false);
Label lVB = new Label("VBALL");
jtVB = new JTextField("0");
jtVB.setEnabled(false);
Label lAdv = new Label("Adv");
jtAdv = new JTextField("0");
jtAdv.setEnabled(false);
panelScore.add(lSet);
panelScore.add(jtSet);
panelScore.add(lVB);
panelScore.add(jtVB);
panelScore.add(lAdv);
panelScore.add(jtAdv);

panelInfo.add(panelPos);
panelInfo.add(Box.createGlue());
panelInfo.add(panelScore);


for(int i=0;i<6;i++){
btNumJ[i]=new JButton();
btNumJ[i].addActionListener(this);
btNumJ[i].setActionCommand("posR"+i);
panelReel.add(btNumJ[i]);
}


panelCritere = new JPanel(new GridLayout(1,nbCrit));
btCrit=new JButton[nbCrit];

for(int i=0;i<nbCrit;i++){
btCrit[i]=new JButton();
btCrit[i].addActionListener(this);
btCrit[i].setActionCommand("Crit"+i);
panelCritere.add(btCrit[i]);
}


panelBouton.add(Box.createHorizontalStrut(5));

JButton btOk=new JButton("Valider");
btOk.addActionListener(this);
btOk.setActionCommand("Valider");
panelBouton.add(btOk);

JButton btAnnul=new JButton("Annuler");
btAnnul.addActionListener(this);
btAnnul.setActionCommand("Annuler");
panelBouton.add(btAnnul);

panelBouton.add(Box.createHorizontalStrut(5));

JButton btPtAdv=new JButton("Point Adv");
btPtAdv.addActionListener(this);
btPtAdv.setActionCommand("Adv");
panelBouton.add(btPtAdv);

JButton btPtVB=new JButton("Point VBall");
btPtVB.addActionListener(this);
btPtVB.setActionCommand("VB");
panelBouton.add(btPtVB);

panelBouton.add(Box.createHorizontalStrut(5));

}

public void createGUI(){

setLayout(new BorderLayout());
creationComposants();

add(panelInfo,BorderLayout.NORTH);
add(panelCritere,BorderLayout.EAST);
add(panelBouton,BorderLayout.SOUTH);
add(panelReel,BorderLayout.WEST);

}

public void ongletSuiv(){

for(int i=0;i<7;i++)
tpOnglet.setEnabledAt(i,true);

if ((t.numVali!="")&&(t.numCritere!=-1)){
int nc=t.numCritere;
t.index=tpOnglet.getSelectedIndex();
int ni=t.index;

if (nc==0){
t.scoreAdvPlus();
tpOnglet.setSelectedIndex(1);
tpOnglet.setEnabledAt(0,false);
for(int i=2;i<7;i++)
tpOnglet.setEnabledAt(i,false);
} else {
if (((ni==0)||(ni==3)||(ni==4)) && (nc==nbCrit-1)){
t.scoreVBPlus();
tpOnglet.setSelectedIndex(0);
for(int i=1;i<7;i++)
tpOnglet.setEnabledAt(i,false);

} else{
switch(ni){
case 0 : tpOnglet.setSelectedIndex(4);break;
case 1 : if (nc==0) { tpOnglet.setSelectedIndex(1);
t.scoreAdvPlus();}
else tpOnglet.setSelectedIndex(2);break;
case 2 : tpOnglet.setSelectedIndex(3);break;
case 3 : tpOnglet.setSelectedIndex(4);break;
case 5 : tpOnglet.setSelectedIndex(2);break;
case 6 : tpOnglet.setSelectedIndex(2);break;
case 4 : if (nc==2)
tpOnglet.setSelectedIndex(4);
else tpOnglet.setSelectedIndex(5);
break;
}
}
}


}
}



public void miseJour(){
jtVB.setText(Integer.toString(t.scoreVB));
jtAdv.setText(Integer.toString(t.scoreAdv));
}

public void actionPerformed(ActionEvent e){


for (int i=0;i<6;i++){
if (("posR"+i).equals(e.getActionCommand())){
t.enregistrStat();
t.numVali=btNumJ[i].getText();
ongletSuiv();
}
}

for (int i=0;i<6;i++){
if (("Crit"+i).equals(e.getActionCommand())){

t.enregistrStat();
t.numCritere=i;
ongletSuiv();
}
}

if (("Annuler").equals(e.getActionCommand())){
tpOnglet.setSelectedIndex(t.index);
for(int i=0;i<7;i++)
tpOnglet.setEnabledAt(i,true);
}

if (("Adv").equals(e.getActionCommand())){
t.scoreAdvPlus();
tpOnglet.setSelectedIndex(1);


}


if (("VB").equals(e.getActionCommand())){
t.scoreVBPlus();
tpOnglet.setSelectedIndex(0);


}

if (e.getSource()==timer){
miseJour();
}

}


Onglets(JTabbedPane pOnglet,int pnbCrit,CTraitement pT) {

nbCrit=pnbCrit;
tpOnglet=pOnglet;
t=pT;
timer=new Timer(1000,this);
createGUI();

}
}
0
Rejoignez-nous