Я делаю небольшую систему, которая содержит пять агентов. Я должен работать с ними на одном графическом интерфейсе. Я должен установить значения агентов в текстовых полях, и затем, если я нажимаю кнопку, каждый агент должен реагировать на консоли.
Я пытался изменить класс java и использовал расширенный MASConsoleGUI вместо расширяющего AgArch и изменения некоторых функций, но это не работает.
файл агента:
agents:
agent1 agentArchClass someGUI;
agent2;
в Java-файле GUI:
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).
Есть идеи, как решить эту проблему? Спасибо!