nonoz
Messages postés57Date d'inscriptionmercredi 29 janvier 2003StatutMembreDernière intervention23 juin 2004
-
18 mai 2004 à 19:34
cs_Dobel
Messages postés333Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention23 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)
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 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.