IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation par agent Java Discussion :

Lancer un agent dans la plateforme jade via une interface graphique


Sujet :

Programmation par agent Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut Lancer un agent dans la plateforme jade via une interface graphique
    Salut,

    SVP quelqu'un peut m'aider? ,je veux lancer un agent dans la plateforme jade via une classe qui extends un jframe , j'ai travaillée avec ça et marche nickel ,mais l'utilisation de la partie graphique est un peu pénible car j'avais pas accès aux différents composants graphique via la palette de netbeans puisque j'utilise une classe qui extends un agent et fait appel à une méthode qui retourne un jframe ,mais le but maintenant je veux que les choses marchent inversement, bref j'ai essayée avec ce code mais enfaîte lorsque je veux exploiter l'objet agent instancié de la classe agent1 au niveau de ma classe qui extends un jframe le compilateur déclenche cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    java.lang.IllegalAccessException: Class jade.core.management.AgentManagementService$CommandTargetSink can not access a member of class test_fuzzylogic.agent1 with modifiers ""
    	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95)
    	at java.lang.Class.newInstance0(Class.java:366)
    	at java.lang.Class.newInstance(Class.java:325)
    	at jade.core.management.AgentManagementService$CommandTargetSink.createAgent(AgentManagementService.java:612)
    	at jade.core.management.AgentManagementService$CommandTargetSink.handleRequestCreate(AgentManagementService.java:533)
    	at jade.core.management.AgentManagementService$CommandTargetSink.consume(AgentManagementService.java:488)
    	at jade.core.CommandProcessor$SinksFilter.accept(CommandProcessor.java:253)
    	at jade.core.Filter.filter(Filter.java:89)
    	at jade.core.Filter.filter(Filter.java:90)
    	at jade.core.Filter.filter(Filter.java:90)
    	at jade.core.CommandProcessor.processIncoming(CommandProcessor.java:229)
    	at jade.core.BaseNode.serveVerticalCommand(BaseNode.java:163)
    	at jade.core.BaseNode.serveHorizontalCommand(BaseNode.java:111)
    	at jade.imtp.leap.NodeLEAP.accept(NodeLEAP.java:60)
    	at jade.core.management.AgentManagementProxy.createAgent(AgentManagementProxy.java:67)
    	at jade.core.AgentContainerImpl$1.createAgent(AgentContainerImpl.java:174)
    	at jade.wrapper.ContainerController.createNewAgent(ContainerController.java:135)
    	at test_fuzzylogic.agent1.<init>(agent1.java:33)
    	at test_fuzzylogic.Frame.<init>(Frame.java:37)
    	at test_fuzzylogic.Frame$2.run(Frame.java:151)
    	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
    	at java.awt.EventQueue.access$200(EventQueue.java:103)
    	at java.awt.EventQueue$3.run(EventQueue.java:682)
    	at java.awt.EventQueue$3.run(EventQueue.java:680)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
    ) ,donc est ce qu' il existe un moyen pour résoudre mon problème.

    Voici le code de la classe agent1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class agent1 extends Agent {
     
             agent1(){
     
           jade.core.Runtime runtime = jade.core.Runtime.instance();
                        ProfileImpl profileImpl = new ProfileImpl(false);
                        profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
                        jade.wrapper.AgentContainer agentContainer = runtime.createAgentContainer(profileImpl);
                         AgentController agentController;
     
                 try {
                     agentController = agentContainer.createNewAgent("Agent1","test.agent1", null); // ici le programme se bloque
                      agentController.start();
                 } catch (Exception e) {
                  e.printStackTrace();
                 }
     
    }         
    }
    le code de la classe jframe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Frame extends javax.swing.JFrame{
      agent1 a=new agent1();
     
        public Frame()  {
            initComponents();
     
                   System.out.println("My Name is " + a.getAID().getName());
     
     
        }
    }
    Merci d'avance.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 65
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par samarqand Voir le message


    Voici le code de la classe agent1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class agent1 extends Agent {
     
             agent1(){
     
           jade.core.Runtime runtime = jade.core.Runtime.instance();
                        ProfileImpl profileImpl = new ProfileImpl(false);
                        profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
                        jade.wrapper.AgentContainer agentContainer = runtime.createAgentContainer(profileImpl);
                         AgentController agentController;
     
                 try {
                     agentController = agentContainer.createNewAgent("Agent1","test.agent1", null); // ici le programme se bloque
                      agentController.start();
                 } catch (Exception e) {
                  e.printStackTrace();
                 }
     
    }         
    }
    j'ai pas compris votre question, mais y a une chose dans votre code, normalement vous ne pouvez pas écrire ces instruction à l’intérieur de la classe agent, ça vous dire que vous créez un conteneur dans le corps de la classe agent!!!! mais ça pour faire quoi? si vous voulez écrire un conteneur qui contient votre agent, vous devez faire ceci : par exemple créer un jframe de tel façon que lorsque vous clic sur un bouton votre agent va être créer, et tapez ce code dans l’événement de ce bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Runtime rt = Runtime.instance();
     
                ProfileImpl p=new ProfileImpl(, false);
     
                AgentContainer container =rt.createAgentContainer(p);
                AgentController Agent=null;
                Agent = container.createNewAgent("id de lagent ", "package de l'agent.class de l'Agent", argument[] ou null);
     
                Agent.start();

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 65
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par samarqand Voir le message
    Salut,

    j'ai travaillée avec ça et marche nickel ,mais l'utilisation de la partie graphique est un peu pénible car j'avais pas accès aux différents composants graphique via la palette de netbeans puisque j'utilise une
    vous pouvez faire ça facilement avec netbeans, il faut juste modifier quelques choses, dans la partie design sélectionner votre composant puis aller sur propriété
    -> code puis variable modifiers puis sélectionner static et changer Access a public et c'est tu
    Nom : Capture.PNG
Affichages : 2954
Taille : 17,4 KoNom : Capture1.PNG
Affichages : 2877
Taille : 24,0 Ko

  4. #4
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    Salut Imene MI et merci pour l'aide;
    mais enfaîte mon problème c’était pas ça,car j'ai testé auparavant la création d'un jframe et de lancer un agent via son constructeur c.à.d au lancement de la fenêtre ou bien même comme vous avez dit d'utiliser un bouton et de mettre le code qui crée le conteneur du l'agent à l’intérieur.
    normalement vous ne pouvez pas écrire ces instruction à l’intérieur de la classe agent, ça vous dire que vous créez un conteneur dans le corps de la classe agent!!!! mais ça pour faire quoi?
    Et pour quoi j'ai mis ce code dans le constructeur de la classe agent car je voulais voir comme étant un objet qui se comporte comme un agent on peut l'instancier mais il a des méthodes de communication que je spécifie son code moi même en plus des méthodes qu'il hérite de la classe mère Agent du JAVA, vous pouvez m'dire que c'était possible de faire ceci sans placer le code qui crée le conteneur et je dis oui mais j'ai proposé de faire ça car lorsque j'ai mis cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Agent = container.createNewAgent("id agent","nom du package.nom de la classe", null);
    au niveau de la classe jframe, j'avais juste cette possibilité d’appeler la méthode "start()" et lorsque je voulez faire une communication au niveau de la classe jframe, je serai obligé de mettre le tout dans la méthode setup()de la classe agent (peut être en utilisant comme type de communication un automate) dont il sera très compliqué de gérer tout les communications à l’intérieur de cette dernière surtout quand j'ai besoin une communication bien précis via la fenêtre de la classe jframe.
    désolé j'ai trop parlé et j’espère que ma réponse est bien claire. donc si vous avez une vue via un autre angle elle sera la bienvenue pour l'esprit d'entraide .

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par Imene MI Voir le message
    vous pouvez faire ça facilement avec netbeans, il faut juste modifier quelques choses, dans la partie design sélectionner votre composant puis aller sur propriété
    -> code puis variable modifiers puis sélectionner static et changer Access a public et c'est tu
    Nom : Capture.PNG
Affichages : 2954
Taille : 17,4 KoNom : Capture1.PNG
Affichages : 2877
Taille : 24,0 Ko
    et pour ça je voulez dire j'ai pas accès aux composant graphique car j'avais pas la possibilité de manipuler directement un composant comme l'ajout d'un événement ou bien modifier l'un de ses paramètres via la palette comme dans cet exemple qui marche très bien et que je l'utilise pour l'instant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Frame_Agent extends Agent {
    .................................
    ..........................
     protected void setup() {
      JFrame f = creer_interface_Agent();
    ..........................
    }
     public JFrame creer_interface_Agent1() {
    //la description de la fenêtre 
    ........................
    ......................
    }
    }
    on voit bien que j'ai pas accès aux composants graphique de la fenêtre via l’anglet design du Netbeans.
    Bien cordialement.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 65
    Points : 77
    Points
    77
    Par défaut
    j'ai pas bien compris votre problème je suis vraiment désolé, mais si vous voulez faire la relation entre l'agent et l'interface graphique vous pouvez voir cet exemple
    Exemple JAde.rar vous pouvez même faire le lien entre l'agent et plusieurs interfaces à la foi.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 65
    Points : 77
    Points
    77
    Par défaut
    pouvez vous me donner un exemple sur ce que vous voulez faire comme communication entre l'agent et l'interface ?

  8. #8
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    Salut;
    je viens de tester le projet ExmpleJAde mais j'ai un problème au niveau de la classe ExmpleJAde plus précisément dans cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Boot b = new Boot(args);
    j'ai essayé de créer une nouvelle configuration sous netbeans mais sa marche pas c.à.d aucune interface d'agent ne se lance. S.V.P comment vous venez de les lancer ?.
    merci d'avance

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 65
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par samarqand Voir le message
    Salut;
    je viens de tester le projet ExmpleJAde mais j'ai un problème au niveau de la classe ExmpleJAde plus précisément dans cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Boot b = new Boot(args);
    j'ai essayé de créer une nouvelle configuration sous netbeans mais sa marche pas c.à.d aucune interface d'agent ne se lance. S.V.P comment vous venez de les lancer ?.
    merci d'avance
    clic sur run le projet (sans lancer jade ), et n'oublier pas d'ajouter les fichier .jare du jade Nom : Capture.PNG
Affichages : 2272
Taille : 11,3 Ko

  10. #10
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    C'est bon j'ai réglé le problème d’exécution on ne sait jamais si quelqu'un à rencontrer le même problème .
    j'ai ajouté ce code (un main à la classe Agent1 et j'ai éliminé la classe ExempleJADE) afin de créer un conteneur pour l'agent + une classe pour le lancement de la platforme jade .
    la méthode main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
        public static void main(String[] args) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    try {
                        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     
                    } catch (ClassNotFoundException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (InstantiationException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IllegalAccessException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (UnsupportedLookAndFeelException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    try {
                        jade.core.Runtime runtime = jade.core.Runtime.instance();
                        ProfileImpl profileImpl = new ProfileImpl(false);
                        profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
                        jade.wrapper.AgentContainer agentContainer = runtime.createAgentContainer(profileImpl);
                        AgentController agentController = agentContainer.createNewAgent("agg", "exmple.Agent1", null);
                        agentController.start();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
     
                }
            });
        }
    et la classe qui lance la plateforme jade appart dans un autre projet "c'est possible" ou dans le même projet +une configuration dans executer >définir la configuration du projet>executer>et vous remplissez les champs comme suit .
    main classe: jade.Boot
    Arguments: -gui nom_agent.nom de la classe agent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    package platforme_jade;
     
    import jade.core.ProfileImpl;
    import jade.core.Runtime;  
    import jade.util.ExtendedProperties;
    import jade.util.leap.Properties; 
    import jade.wrapper.AgentContainer;
     
    public class MainContainner {
    public static void main(String[] args) {
    try{
    Runtime runtime=Runtime.instance(); 
    Properties properties=new ExtendedProperties();
    properties.setProperty("gui","true");
    ProfileImpl profileImpl=new ProfileImpl(properties);
    AgentContainer container=runtime.createMainContainer(profileImpl);
    container.start();
    }
    catch(Exception e){  e.printStackTrace(); }
    }
    }
    donc je vais jouer sur ce code là car il a l'aire d’être très intéressent.
    merci infiniment et bien cordialement

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut aide moi
    Nom : erreuf.PNG
Affichages : 1878
Taille : 22,3 Ko
    quand je met la méthode main dans la classe Agent1 il affiche l'erreur suivante: Incompatible type :String can not be converted to class??

  12. #12
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    Bonjour imely;
    Est ce que vous pouvez nous montrer votre code de la classe Agent 1?.car certainement vous avez utilisé le mauvais code voici le mien .
    code de la classe Agent1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    package sa;
     
     
    import jade.core.AID;
    import jade.core.ProfileImpl;
    import jade.domain.FIPAAgentManagement.DFAgentDescription;
    import jade.gui.GuiEvent;
    import jade.wrapper.AgentController;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
     
     
    public class Agent1 extends jade.gui.GuiAgent {
         transient protected SA Interface_sa;// c'est pour instancier d'une interface graphique ici vous nommer selon le nom de votre JFrame Form créée par la palette de netbeans.  
     
          public Agent1() {
            this.Interface_sa = new SA(this);
          }
            protected void setup() {
     
            Interface_sa = new SA(this);
            Interface_sa.setVisible(true);
     
            System.out.println("Hello! my name is Agent " + getAID().getName() + " is ready.");
            String localname = "SA";
            AID id = new AID(localname, AID.ISLOCALNAME);
     
     
            DFAgentDescription dfd = new DFAgentDescription();
            dfd.setName(id);
     
    //...................
    .........vous mettez le Behaviour adéquat .....................
    .....................................
     
        }
     
     
        //@Override
        protected void onGuiEvent(GuiEvent ge) {
     
        }
        public static void main(String[] args) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    try {
                        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     
                    } catch (ClassNotFoundException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (InstantiationException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IllegalAccessException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (UnsupportedLookAndFeelException ex) {
                        Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    try {
                        jade.core.Runtime runtime = jade.core.Runtime.instance();
                        ProfileImpl profileImpl = new ProfileImpl(false);
                        profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
                        jade.wrapper.AgentContainer agentContainer = runtime.createAgentContainer(profileImpl);
                        AgentController agentController = agentContainer.createNewAgent("SA", "sa.Agent1", null);
                        agentController.start();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
     
                }
            });
        }
     
    }
    code de l'interface graphique SA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class SA extends javax.swing.JFrame {
    Agent1 sa;
        public SA(Agent1 a) { // le constructeur de l'interface graphique
     
            this.sa=a;
    .....................
    ........................
        } 
        } 
    // ensuite sa va se comporter comme un agent et vous pouvez utiliser ses opérations associées
    Bon courage .

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    j'ai suivi les étapes dans ton commentaire précedent
    j'ai ajouté la méthode main dans la classe agent 1
    package exemple.jade;

    import com.sun.istack.internal.logging.Logger;
    import jade.core.AID;
    import jade.core.ProfileImpl;
    import jade.domain.FIPAAgentManagement.DFAgentDescription;
    import jade.gui.GuiEvent;
    import jade.wrapper.AgentController;
    import java.util.logging.Level;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    import java.lang.*;

    /**
    *
    * @author HP
    */
    public class Agent1 extends jade.gui.GuiAgent {
    transient protected AgentInetrface Interface1;
    public Agent1() {
    this.Interface1 = new AgentInetrface(this);
    }
    protected void setup() {
    // Printout a welcome message
    Interface1 = new AgentInetrface(this);
    Interface1.setVisible(true);

    System.out.println("Hello! Agent fatima " + getAID().getName() + " is ready.");
    String localname = "Fatima";
    AID id = new AID(localname, AID.ISLOCALNAME);
    // Enregistrement aupres du directory facilitator

    DFAgentDescription dfd = new DFAgentDescription();
    dfd.setName(id);


    }


    @Override
    protected void onGuiEvent(GuiEvent ge) {

    }

    public void req(String M) {
    addBehaviour(new Envoi(M));

    }

    public class Envoi extends jade.core.behaviours.OneShotBehaviour {
    String message;
    public Envoi(String M) {
    this.message = M;
    }
    @Override
    public void action() {
    System.out.println(message);
    }

    }
    public static void main(String[] args) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {

    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    } catch (ClassNotFoundException ex) {
    Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
    } catch (UnsupportedLookAndFeelException ex) {
    Logger.getLogger(Agent1.class.getName()).log(Level.SEVERE, null, ex);
    }
    try {
    jade.core.Runtime runtime = jade.core.Runtime.instance();
    ProfileImpl profileImpl = new ProfileImpl(false);
    profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
    jade.wrapper.AgentContainer agentContainer = runtime.createAgentContainer(profileImpl);
    AgentController agentController = agentContainer.createNewAgent("agg", "exmple.Agent1", null);
    agentController.start();
    } catch (Exception e) {
    e.printStackTrace();
    }

    }
    });
    }
    }

  14. #14
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    imely donc vous avez testé le projet exemple jade et ça na pas marché et vus venez de tester mes étapes SVP veuillez patienter le temps que je teste le projet psq ça fait bien longtemps que j'ai utilisé jade . sinon ça sera mieux si vous mettez en pièce jointe ton projet afin de tester et d'analyser .

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    exemple_jade.rar voila mon projet

  16. #16
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    je viens de trouver que ton projet est vide !!!!! essayez de télécharger et vous verrez ....ou sont tes classes sauf exmplejade qui est vide

  17. #17
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 10
    Points : 12
    Points
    12

  18. #18
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    IMELY;
    essayez avec ce import et éliminez le votre;

    normalement le problème est dans cette instruction "import com.sun.istack.internal.logging.Logger;" vous devez la remplacer avec "import java.util.logging.Logger;"

  19. #19
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    mon problème est résolu mercii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/02/2011, 18h15
  2. Réponses: 1
    Dernier message: 04/08/2010, 08h22
  3. Réponses: 1
    Dernier message: 15/11/2009, 16h46
  4. Adminsitration d'un serveur via une interface graphique
    Par onet dans le forum Administration système
    Réponses: 4
    Dernier message: 11/11/2008, 00h03
  5. Définition des variable dans un fichier.m d'une interface graphique
    Par developpeur82 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 10/05/2007, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo