我正在做一个包含五个代理的小型系统。我必须在一个GUI上与他们合作。我必须在文本字段中设置代理的值,然后如果我按一个按钮,则每个代理都需要在控制台上作出反应。
我试图更改Java类,并使用扩展MASConsoleGUI而不是扩展AgArch并更改了一些功能,但这不起作用。
代理文件:
agents:
agent1 agentArchClass someGUI;
agent2;
在GUI Java文件中:
public class someGUI extends AgArch{
委托人如下:
public someGUI() {
save = new JButton("save");
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Literal goal = ASSyntax.createLiteral("save",
ASSyntax.createNumber(Double.parseDouble(field1.getText())),
ASSyntax.createNumber(Double.parseDouble(field2.getText())),
...
getTS().getC().addAchvGoal(goal , null);
}});
现在,只有第一个代理对按钮做出反应。如果我将agentArchClass带到每个代理,它将分配更多的GUI,并且在每个GUI中,只有父代理会做出反应。我想让他们在一个GUI(在不同的JPanels中)做出反应。
任何想法如何解决此问题?谢谢!