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 :
) ,donc est ce qu' il existe un moyen pour résoudre mon problème.
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)
Voici le code de la classe agent1.
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
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(); } } }
Merci d'avance.
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()); } }
Partager