Listener dnas une applet???

nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004 - 18 mai 2004 à 19:34
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 - 18 mai 2004 à 23:58
Bon je mets ma question ici car je sais pas trop ou la mettre ailleurs...

j'essaye d'ajouter un listener sur mes boutons qu'il lorsque l'on clique dessus appelera une fonction dans la classe principale.

mon prog principale ressemble a ca:


package calc;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;

public class Applet1 extends Applet {

boolean isStandalone =  false;
JPanel fondcalc = new JPanel();
GridBagLayout gridBagLayout1 = new GridBagLayout();
JLabel jLabel1 = new JLabel();
/**Obtenir une valeur de paramètre*/
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}

/**Construire l'applet*/
public Applet1() {
}
/**Initialiser l'applet*/
public void init() {

try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Initialiser le composant*/
private void jbInit() throws Exception {
fondcalc.setLayout(gridBagLayout1);
jLabel1.setText("zone d'ecriture");

boutons mazoneboutons=new boutons(this);

this.add(fondcalc, null);
this.add(jLabel1, null);
this.add(mazoneboutons, null);

}
/**Obtenir les informations d'applet*/
public String getAppletInfo() {
return "Information applet";
}
/**Obtenir les informations de paramètre*/
public String[][] getParameterInfo() {
return null;
}

/** Affichage du résultat */
public void resultat()
{
jLabel1.setText("ca marche");
}
}


//--------------------------------------------------------
//-------------------------------------------------------
//et ma classe a ca:
package calc;

// je recuepere tous les import dont j'ai besoin
import java.awt.* ;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;

public class boutons extends JPanel implements ActionListener{

// création des éléments et du layout
GridBagLayout gridBagLayout1 = new GridBagLayout();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();

//je declare une variable dans lequel je vais mettre mon applet.
private Applet1 c;

 //erreur ici 
jButton1.addActionListener(this);

public boutons (Applet1 c) {
this.c =c;
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}

private void jbInit() throws Exception {
//je mets tout l'affichage en place.

this.setLayout(gridBagLayout1);
//je donne un nom a mes boutons
jButton1.setText("1");
jButton2.setText("2");

// positionnement des éléments dans le GridbagLayout
this.add(jButton1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
this.add(jButton2, new GridBagConstraints(1, 0, 1, 2, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
}

/** gestion des événements */
public void actionPerformed (ActionEvent e)
{
//j'appele resultat qui se trouve dans l'applet
c.resultat();
}

}



//je me retrouve avec ca comme erreur:
"boutons.java" : Erreur No. 215 : déclaration de méthode incorrecte ; type retourné nécessaire en ligne 26, colonne 27
"boutons.java" : Erreur No. 203 : début de type incorrect en ligne 26, colonne 28

et ce que c'est mon action listener que je ne mets pas au bon endroit? si je mets :'jButton1.addActionListener(this);' en commentaire le prog fonctionne et si je rajoute c.resultat(); dans le init de la classe boutons mon label est bien modifie... mais je ne peux avoir aucune action lorsque je clique sur les boutons... (ce qui est normal si mon listener ne fonctionne pas)

4 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 mai 2004 à 22:08
Salut,

ton erreur est "normale". Tu dois mettre ton code dans une méthode car ce n'est pas une déclaration de variable. Si tu mets ça dans la méthode init par ex ça devrait mieux aller.
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
18 mai 2004 à 22:10
la ligne
jButton1.addActionListener(this);

n'est pas une déclaration :
elle ne peut pas être mise à l'exterieur d'une méthode

tu n'as qu'à la mettre dans jbInit par exemple

A+
DOBELIOU
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
18 mai 2004 à 22:32
okay merci
0
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
18 mai 2004 à 23:58
oups

encore une double réponse lol
au moins, on dit la même chose :big)

A+
DOBELIOU
0
Rejoignez-nous