gpt4 book ai didi

java - 在 jade 中创建代理数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:45 25 4
gpt4 key购买 nike

早上好,我想创建一个包含代理的多个实例(许多代理具有相同行为)的数组,因此我使用netbeans首先创建一个代理管理,该管理创建其他代理并画一个圆圈来代表框架中的每个代理。这是主要代理的代码:

package jade;

/**
*
* @author walid
*/
import jade.core.Agent;
import jade.core.Runtime;
import jade.core.ProfileImpl;
import jade.wrapper.*;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Toolkit;

import java.util.logging.Level;
import java.util.logging.Logger;
import jade.Agent1;
public class AgentEnvironement extends Agent{
private JFrame jFrame = null;
private Agent1 []tab;
@Override
protected void setup() {
try {
getJFrame().setVisible(true);
} catch (StaleProxyException ex) {
Logger.getLogger(AgentEnvironement.class.getName()).log(Level.SEVERE, null, ex);
}
}

public JFrame getJFrame() throws StaleProxyException {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(new java.awt.Dimension(500,350));
Dimension tailleEcran =Toolkit.getDefaultToolkit().getScreenSize();
int largeurEcran = tailleEcran.width;
int hauteurEcran = tailleEcran.height;
jFrame.setLocation((largeurEcran-500)/2,(hauteurEcran-350)/2);
jFrame.setTitle("Environement des agents rumeurs.");
jFrame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
//jFrame.setContentPane(getJContentPane());
Runtime rt = Runtime.instance();
// Création du profil par défault
ProfileImpl p = new ProfileImpl(false);
AgentContainer container =rt.createMainContainer(p);
// Agent controleur pour permettre la création des agents
AgentController Agent=null;
Agent = container.createNewAgent("Agent1", "jade.Agent1", null);
Agent.start();
}
return jFrame;
}
}

这是代理类的代码,我想创建他的许多实例包 Jade ;

import jade.core.AID;
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;


/**
*
* @author walid
*/
public class Agent1 extends Agent {

/**
*/
@Override
public void setup() {
addBehaviour(new comportement());
}
class comportement extends CyclicBehaviour {
public void action() {
System.out.println ("ready");
}
}


public static void main(String[] args) {

}

}

老实说,我不擅长java编程,如果有人可以帮助我,我将非常高兴。

最佳答案

创建代理数组???我不确定这意味着什么,但如果您想创建多个代理,请使用 for 循环和计数器来递增名称。

 for (agentcounter=1;agentcounter++;agentcounter<agentmax)
{
Agent = container.createNewAgent("Agent"+agentcounter, "jade.Agent1", null);
}

这应该创建多个 jade.Agent1 类型的代理例如,agentmax=10

Agent1(类型jade.Agent1)

Agent2(类型jade.Agent1)

Agent3(类型jade.Agent1)

...

Agent10(类型jade.Agent1)

请注意

Agent = container.createNewAgent("Agent"+agentcounter, "jade.AgentClass", null);

第一个字段是代理实例的名称第二个字段是代理类

关于java - 在 jade 中创建代理数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26944805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com