[swing] jai une qestion apropos de ActionEvent event

jai une qestion apropos de ActionEvent event [swing] - Java - Programmation

Marsh Posté le 25-03-2004 à 06:45:43    

:hello: ,
j apprend a utilise swing en suivant les tutos sur le site de java.
mais il y a quelque chose que j arrive a faire.
 
j ai 2 jbutton
[cpp
]//create a button add item
JButton b1 = new JButton(" Add an Item " );
b1.addActionListener(this);
//create a button remove item
JButton b2 = new JButton(" Remove an Item " );
b2.addActionListener(this);
[/cpp]
 
et ensuite j ai une fonction pour mon action event

Code :
  1. public void actionPerformed(ActionEvent event) {
  2.        
  3.          add_an_item();
  4.          Receipt r = new Receipt(items_array);
  5.          String out;
  6.          out =  r.stringOutput() + "\t"
  7.                 + r.totalQuantity() + "\t\t"
  8.                 + r.totalPrice() + "\n";
  9.                
  10.          receipt.setText(out);
  11.     }


mais les deux boutons font la meme chose (ce qui est nomral vu le code)  
alors comment faire pour les differencier?  
genre si laction viens de boutton 1 fasi ca suinon ca.
 
 :hello:

Reply

Marsh Posté le 25-03-2004 à 06:45:43   

Reply

Marsh Posté le 25-03-2004 à 08:42:27    

dans ActionEvent, tu peux recuperer le composant qui a emis l'evenement:
 
event.getSource()
 
apres, il suffit de tester
 

Code :
  1. if (event.getSource() == b1) {
  2.     //le bouton 1 a ete clique
  3.     ......
  4. }
  5. if (event.getSource() == b2) {
  6.     //le bouton 2 a ete clique
  7.     ......
  8. }


Message édité par souk le 25-03-2004 à 08:43:09
Reply

Marsh Posté le 25-03-2004 à 09:57:38    

JButton b1 = new JButton("Tagada" );
b1.addActionListener(this)
b1.setActionCommand("ACTION1" );
 
JButton b2 = new JButton("Tsoin Tsoin" );
b2.addActionListener(this)
b2.setActionCommand("ACTION2" );
 
puis dans ton actionPerformed:
 
public void actionPerformed(ActionEvent event) {  
  String command = event.getActionCommand();
  if (command.equals("ACTION1" ))
    faireAction1();
  else if (command.equals("ACTION2" ))
    faireAction2();
}

Reply

Marsh Posté le 25-03-2004 à 12:23:57    

merci !  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed