|
|
Bonjour à tous, voilà j'ai fait une applet java qui permet de voir l'état des disjoncteurs sous forme de label. L'applet fonctionne. Maintenant j'aimerais ajouter dans mon JPanel, une image de disjoncteur qui est enclenché appelé ImgDisjenc et une image de disjoncteur qui déclenché appelé ImgDisjdec. Le problème c'est que ça marche pas. Pouvez-vous m'aidez S.V.P??? Merci d'avance.
import java.applet.*;
import java.awt.*;
import java.lang.*;
import java.lang.String;
import java.lang.Object;
import java.util.Locale;
import java.beans.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.ImageIcon;
import java.awt.Toolkit;
import java.awt.Component;
import com.schneiderautomation.factorycast.*;
import com.schneiderautomation.factorycast.comm.StatusMessages;
public class defaut6 extends JApplet implements PropertyChangeListener
{
//déclaration des variables
short qty=4;
boolean[] values=new boolean[4];
//Création d'un objet qui établie la liaison avec l'automate
CommBean comm=new CommBean(Locale.getDefault());
//Création d'un objet qui permet de lire les variable de manière continuelle
MonitorBool monitor=new MonitorBool(comm.getAdaptor());
//Création d'un tableau de labels
JPanel panneau=new JPanel();
GridLayout tableau=new GridLayout(5,1);
JLabel EtatDisj=new JLabel("Etat du disjoncteur général: ");
JLabel EtatDisj1=new JLabel("Etat du disjoncteur 1: ");
JLabel EtatDisj2=new JLabel("Etat du disjoncteur 2: ");
JLabel EtatDisj3=new JLabel("Etat du disjoncteur 3: ");
JLabel ImgDisjenc=new JLabel(new ImageIcon("disjenc.jpg"));
JLabel ImgDisjdec=new JLabel(new ImageIcon("disjdec.jpg"));
public void init()
{
try
{
//Lancement de la connection au serveur
comm.connect("172.16.6.241",false);
comm.start();
//Mise en écoute des évènements de la variable du disjoncteur général
monitor.addPropertyChangeListener(this);
//Initialisation du groupe de variables
monitor.setAddress("%M10");
monitor.setQuantity(qty);
monitor.register();
//insertion du tableau et des labels
this.add(panneau);
panneau.setLayout(tableau);
panneau.add(EtatDisj);
panneau.add(EtatDisj1);
panneau.add(EtatDisj2);
panneau.add(EtatDisj3);
}
catch(Exception e)
{
System.out.println("Erreur : "+e.getMessage());
}
}
public void destroy()
{
//déconnection de l'applet au serveur
try
{
comm.disconnect();
}
catch(Exception e)
{
}
}
//Appelé à chaque nouvelle valeur reçue
public void propertyChange(PropertyChangeEvent evt)
{
//Renvoi le nom de la propriété qui a été changé
String prop=evt.getPropertyName();
if (prop.equals("values"))
{
//on récupère la nouvelle valeur
values=(boolean[])evt.getNewValue();
if(values[0]==true)
{
panneau.add(ImgDisjenc);
EtatDisj.setText("Etat du disjoncteur: enclenché");
}
else
{
panneau.add(ImgDisjdec);
EtatDisj.setText("Etat du disjoncteur: déclenché");
}
if(values[1]==true)
{
EtatDisj1.setText("Etat du disjoncteur 1: enclenché");
}
else
{
EtatDisj1.setText("Etat du disjoncteur 1: déclenché");
}
if(values[2]==true)
{
EtatDisj2.setText("Etat du disjoncteur 2: enclenché");
}
else
{
EtatDisj2.setText("Etat du disjoncteur 2: déclenché");
}
if(values[3]==true)
{
EtatDisj3.setText("Etat du disjoncteur 3: enclenché");
}
else
{
EtatDisj3.setText("Etat du disjoncteur 3: déclenché");
}
}
}
}
P.S : pour le moment, l'image est basé que sur un seul disjoncteur pour commencer
|