URGENTISSIME... !!!

Bison_Ravi_33 Messages postés 55 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 20 septembre 2004 - 27 août 2004 à 14:47
Bison_Ravi_33 Messages postés 55 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 20 septembre 2004 - 30 août 2004 à 22:50
salut tout le monde....

J'ai un projet à rendre dans 2 semaines...
Un projet basé sur les JavaBeans

J'ai deja réalisé mes algorithmes... tout fonctionne bien...
le seul probleme est que les boutons de controle ne fonctionnent pas !!! et je ne sais pas pourquoi....

j'ai utilisé une syntaxe classique :
* pour définir mon bouton

Button bouton = new Button("clique moi!");


* pour utiliser mon bouton

public void actionPerformed(ActionEvent evt) {
     Object source = evt.getSource();
     if(source==bouton) {
          ...
     }
}


Ce code me crée bien mon bouton, mais rien ne se passe lorsque je clique dessus ...

Please Help...
je suis super en galère et j'ai vraiment besoin d'aide

Merci d'avance à tous ceux qui me répondront...

9 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
27 août 2004 à 14:52
t'as pas oublié de faire bouton.addActionListener(...); au moins :)

sinon dans actionPerformed, met un println pour afficher evt.getSource(), bouton, bouton==evt.getSource()
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
27 août 2004 à 22:57
GodConan :clown)

Vi ca me semble la premiere chose a verifier ;o) et comme on la voi pas ds ton post ... ;o) hhéh
Il faut dc une instance de ton actionlistener et il te faut y abonner tes boutons... ;o)
0
cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 1
28 août 2004 à 16:00
En plus il ne caste pas ça source alors évidemment que bouton != source ...

Bon pour pas fire compliqué et pour bien expliqué :
Le listener est un auditeur qui va être déclenché au moment ou un évènement va être effectué. Ici :
- auditeur : actionListener
- évènement : le clic de la souris sur le bouton ...

Pour ce faire il faut :
JButton bouton = new JButton();
bouton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//ici tu mets ce qu'il faut qu'il se passe voilou

}
});

Dis moi ça à l'air de pas trop avancer ? Un projet dans 2 semaines, c'est pour la rentrée...
Nom du projet : les débuts en java ;)
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
28 août 2004 à 19:47
le cast sur source ou sur bouton EST bien inutile....
si bouton et source sont les mêmes, peu importe leurs types !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 1
29 août 2004 à 10:43
Ah ouais enfin bon tout le monde peut se tromper...
Sinon le reste est plutôt bon hein ?
0
Bison_Ravi_33 Messages postés 55 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 20 septembre 2004
30 août 2004 à 18:06
salut...

petite question de vocabulaire : quel est le sens de "caste" dans la phrase il ne caste pas ça source ???

sinon, oui, j'ai bien pensé à mettre un actionListener...
En fait, ma class fonctionne parfaitement, mais je dois la transformer en JavaBean et là, et bien ça ne marche plus... %-6

Pour ne pas surcharger le post, je ne vais mettre que le code de mon Bean (qui est donc une version modifiée de ma class)...

import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.io.Serializable;
import java.lang.*;
import java.lang.Object;
import javax.swing.*;
import javax.swing.border.*;

public class H6 extends Panel implements Serializable {

// ---- déclaration des variables
    private  int t=0;

// ---- Le timer actualise l'affichage toutes les secondes si delay=1000
    private  int delay=500;

// ------------------------ CREATION DES COMPOSANTS ---------------// ----------- déclaration des boutons
 	Button avant = new Button("Forward");
 	Button arriere = new Button("Backward");
 	Button stop = new Button("STOP");
 	Button fin = new Button("Remise à zéro");
// ----------- déclaration des Labels
final Label temps = new Label("temps");
Label pasdetemps_Label = new Label("pas de temps");
// ----------- déclaration des zones de texte
 	final TextField pasdetemps = new TextField(4);

PropertyChangeSupport changeSupport;

public H6() {
setLayout(new GridLayout(2,4,5,5));
changeSupport = new PropertyChangeSupport(this);
// ---- Ajout des composants aux conteneurs avec formatage
add(pasdetemps_Label);	add(pasdetemps); add(temps); 
add(arriere);  add(fin);  add(stop);  add(avant);
    }

   	public /*static*/ void main(String[] args) {
// ---- déclaration des évènements
        ActionListener tache_timer_avant;
        	ActionListener tache_timer_arriere;

// ---- Action réalisé par le timer AVANT
tache_timer_avant= new ActionListener() {
public void actionPerformed(ActionEvent e) {
int pdt = (int)(Double.parseDouble(pasdetemps.getText()));
t=t+pdt;
temps.setText("temps : "+t);
}
};
// ---- instanciation du timer
final Timer timer_avant= new Timer(delay,tache_timer_avant);

// ---- Action réalisé par le timer ARRIERE
tache_timer_arriere= new ActionListener() {
public void actionPerformed(ActionEvent e) {
int pdt = (int)(Double.parseDouble(pasdetemps.getText()));
t=t-pdt;
temps.setText("temps : "+t);
}
};
// ---- instanciation du timer
final Timer timer_arriere= new Timer(delay,tache_timer_arriere);

// ---- Action provoqué par l'utilisateur lors du clic sur le bouton AVANT
avant.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e_av) {
timer_avant.start();
timer_arriere.stop();
}
});

// ---- Action provoqué par l'utilisateur lors du clic sur le bouton ARRIERE
arriere.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer_avant.stop();
timer_arriere.start();
}
});

// ---- Action provoqué par l'utilisateur lors du clic sur le bouton FIN
        fin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer_avant.stop();
timer_arriere.stop();
t=0;
}
  });

// ---- Action provoqué par l'utilisateur lors du clic sur le bouton STOP
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer_avant.stop();
timer_arriere.stop();
temps.setText("temps : "+t);
}
});
    }
    
    public synchronized int getT() {
return t;
    }
    public synchronized void setT(int v) {
    	int oldt = t;
t = v;
changeSupport.firePropertyChange("t", oldt, t);
    }
    public synchronized void addPropertyChangeListener (PropertyChangeListener l) {
    	changeSupport.addPropertyChangeListener(l);
    }
    public synchronized void removePropertyChangeListener (PropertyChangeListener l) {
    	changeSupport.removePropertyChangeListener(l);
    }
}


mais pour ceux qui doutent,
je peux envoyer ma class d'origine :big) ...
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
30 août 2004 à 18:35
le tèrme cast (sans 'e' au bout ;) désigne le fait de forcer la conversion d'un objet vers le type de son choix (je sais pas si c'est clair ;-p)

par exemple
Graphics g = this.getGraphics;
Graphics2D = (Graphics2D) g;//"cast" de g en Graphics2D

A+

Dobeliou
[Il ne faut jamais jouer à saute-mouton avec une licorne]
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
30 août 2004 à 18:36
oups ;-p
et terme sans 'è'

confus ;-))
Dobeliou
[Il ne faut jamais jouer à saute-mouton avec une licorne]
0
Bison_Ravi_33 Messages postés 55 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 20 septembre 2004
30 août 2004 à 22:50
et pour mon probleme de bouton...
une idée ???
0
Rejoignez-nous