Débutant problème variable globale

Signaler
Messages postés
4
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
8 juin 2004
-
axianscc
Messages postés
4
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
8 juin 2004
-
Bonjour, je suis débutant en Java Je voudrais utiliser une variable me permettant de réaliser l’une ou l’autre partie de ma méthode « alarmesnmp ». cette méthode est appelée plusieurs fois par une autre classe, et je dois déclarer une seule fois ma variable var , car j’utilise sa valeur à chaque appel de la méthode alarmesnmp. Si je déclare ma variable en static elle ne change jamais de valeur et devient donc inutile et si je ne déclare pas ma méthode alarmesnmp en static, une erreur apparaît dans la classe qui l’appelle. Je ne sais pas comment m’en sortir, pouvez vous m’aider s’il vous plait ?

package snmp;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SNMPAlarme
{
int var=0;

static JFrame frame = new JFrame ("Attention !!!");

public static void alarmesnmp (String alarme, int i){

if (alarme !="0"){
switch (var){
case 0 :break;
case 1 : {
JLabel label = new JLabel ("!!! Attention alarme " + i +"!!!" , JLabel.CENTER);
frame.getContentPane().add(label);
frame.setSize(300,300);
frame.setVisible(true);
variable = 0;
}
}
}

if (alarme !="1"){
switch (var){
case 1 :break;
case 0 : {
JLabel label = new JLabel ("!!! Alarme " + i +" disparue !!!" , JLabel.CENTER);
frame.getContentPane().add(label);
frame.setSize(300,300);
frame.setVisible(true);
variable = 1;
}
}
}

}
}

4 réponses

Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
2
tous d'abord tu dois mieux eclairsir ton pbm et donner la deuxième classe qui fait appèl à la fonction (je croix que le problème de static est dans l'appèle) il vau mieu donner le code complet.
ce que je pourrai te dire sur cette partie du code c'est que
- tu dois hériter ta class de JFrame et pas metre ja JFrame com element de votre classe.
- la JLabel doit être créée une seule fois et chaque fois tu y affiche ton text avec label.setText("kghghjghjg"+i+"kkg");
- la variable "variable" d'où est ce qu'elle est venue?!
tu pourrais me donner ton code exact et je vais essayer de t'aider, d'ailleur je m'interesse à SNMP.
Ok?
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
essaye d'enlever var du global, et mets le dans alarmesnmp(String, int)
int var=Integer.parseInt(alarme);
fais ca a condition d'atribuer 1 ou 0 a alarme mais dans ce cas passe le en int ce qui reviendrais a faire
alarmesnmp(int, int)
int var=alarme;
ou encore
alarmesnmp(boolean, int)
boolean var=alarme;
Messages postés
12
Date d'inscription
lundi 15 mars 2004
Statut
Membre
Dernière intervention
4 août 2007

Tiens j'avait pas vu que tu avais fait deux fois le même message, j'ai repondu a l'autre, tu peux voir si tu veux.
c'est ici

Fabulou ;)
Messages postés
4
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
8 juin 2004

Je vous remercie beaucoup, je vais bientôt essayer les conseils mais je pense que je vais dabord me repencher sur les classes appellant celle -ci car j'ai d'autre pbs avec elles. Je vous tiendrais au courant,
merci