Débutant problème variable globale

axianscc Messages postés 4 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 8 juin 2004 - 27 mai 2004 à 11:52
axianscc Messages postés 4 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 8 juin 2004 - 28 mai 2004 à 09:13
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

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
27 mai 2004 à 12:46
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?
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 mai 2004 à 13:35
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;
0
fabulou Messages postés 12 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 4 août 2007
27 mai 2004 à 16:33
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 ;)
0
axianscc Messages postés 4 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 8 juin 2004
28 mai 2004 à 09:13
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
0
Rejoignez-nous