J'ai un problèm de variable!!?

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

}
}

1 réponse

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:28
Salut

Bon j'ai essayer un truc, ca marche, mais je sais pas si c'est ce que tu attendais.

Mais j'ai quand même quelques remarques a te faire :) :
_Tu n'as pas utilisé de constructeur pour ta classe SNMPAlarme.
_Il ne faut pas utiliser (alarme !="0"), mais (!alarme.equals("0")) etant donné que alarme est une String.
_Apres j'ai simplifier un peu ton codes.
_Je pense que le code que tu as fournis n'es pas ton vrai code, car là ca peut pas marcher :big) , donc je sais pas si tu sais déjà ce que je viens de te dire (oulaaa, je me comprend...)

Bon voila le code :

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

public class SNMPAlarme 
{
int variabe;
JFrame frame;
JLabel label;

public SNMPAlarme()
{
frame = new JFrame ("Attention !!!");
frame.setSize(300,300);
frame.setVisible(true);
label = new JLabel();;
variabe =0;
}

public void alarmeSnmp (String alarme, int i)
{

if (!alarme.equals("0"))
{

if(variabe == 1)
{
label.setText("!!! Attention alarme " + i +"!!!");
label.setSize(200,25);
frame.getContentPane().add(label);
variabe = 0;
}
}

if (!alarme.equals("1"))
{

if(variabe == 0)
{
label.setText("!!! Alarme " + i +" disparue !!!");
label.setSize(200,25);
frame.getContentPane().add(label);
variabe = 1;
}
}
frame.repaint();

}
}


fichier Main.java (sert de test)

package snmp;

class Main {

public static void main(String [] args)
{
SNMPAlarme alarme = new SNMPAlarme();
alarme.alarmeSnmp ("2", 1);
}
}


woili woilou

Fabulou ;)
0
Rejoignez-nous