madkit.desktop2
Class DesktopAgent

java.lang.Object
  extended by madkit.kernel.AbstractAgent
      extended by madkit.kernel.Agent
          extended by madkit.desktop2.DesktopAgent
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

public class DesktopAgent
extends Agent

DesktopAgent: an agent which is able to explore a directory and launch agents of different styles.. Replace the old GBox and the previous DesktopAgent version 1.xx Needs SEdit for its compilation, but does not need SEdit at runtime to work properly

Version:
1.2
Author:
D. Pujol, J. Ferber
See Also:
Serialized Form

Field Summary
protected  DesktopAgentGUI desktop
           
static java.lang.String VERSION
           
 
Constructor Summary
DesktopAgent()
           
 
Method Summary
 void activate()
          This method is initially called when the micro-kernel registers the agent.
protected  void addAgent(AbstractAgent ag, java.awt.Component c, java.awt.Point p, java.awt.Dimension d)
           
protected  void handleMessage(Message ms)
           
protected  void handleMessage(StringMessage str)
           
 void initGUI()
          This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface.
 void live()
          This method defines the main behavior of threaded agents.
protected  void removeGUI(java.awt.Component c)
           
 void windowClosing(java.awt.AWTEvent we)
           
 
Methods inherited from class madkit.kernel.Agent
connectAgencyToAgency, createPlace, createPlace, enableMobility, enableMobility, exitImmediatlyOnKill, getAgencyNamed, joinPlace, joinPlace, joinPlace, pause, receiveMessage, run, waitNextMessage, waitNextMessage
 
Methods inherited from class madkit.kernel.AbstractAgent
broadcastMessage, broadcastMessage, connectedWithCommunity, createGroup, createGroup, debug, destroyGroup, disposeMyGUI, end, foundGroup, getAddress, getAgentsWithRole, getAgentsWithRole, getAgentWithRole, getAgentWithRole, getAvailableCommunities, getBean, getController, getCurrentKernelAddress, getDebug, getExistingGroups, getExistingGroups, getExistingRoles, getExistingRoles, getGroups, getGUIObject, getMessageBoxSize, getMyGroups, getMyGroups, getMyRoles, getMyRoles, getName, getRoles, hasGUI, hashCode, hideMyGUI, isBelongingToGroup, isBelongingToGroup, isCommunity, isGroup, isGroup, isMemberOf, isMemberOf, isMessageBoxEmpty, isRole, isRole, joinGroup, killAgent, launchAgent, launchAgent, leaveGroup, leaveGroup, leaveRole, leaveRole, nextMessage, print, println, redisplayMyGUI, requestRole, requestRole, requestRole, restoreAgent, sendMessage, sendMessage, sendMessage, setBean, setController, setDebug, setGUIObject, setName, setOutput, setOutputWriter, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

desktop

protected DesktopAgentGUI desktop

VERSION

public static java.lang.String VERSION
Constructor Detail

DesktopAgent

public DesktopAgent()
Method Detail

initGUI

public void initGUI()
Description copied from class: AbstractAgent
This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface. The agent developer should use a setGUIObject(...) within this method, as well as other necessary initializations. If the developer does not overload this method, a vanilla text output might be used as the default interface.

Overrides:
initGUI in class AbstractAgent

activate

public void activate()
Description copied from class: AbstractAgent
This method is initially called when the micro-kernel registers the agent. Usually a good place to set up some initial groups and roles.

Here is a typical example (taken from the PingPong agent of MadKit (plugin demos)) :

public void activate()
{
        try {
                createGroup(true,"ping-pong",null,null);
                println ("No ping-pong group : I created one");
                creator=true;
        } catch (OrganizationRequestException e) { // the group already exists
                creator=false;
                println ("A ping-pong group already exists : I will join");
        }
        requestRole("ping-pong","player",null);
}
 

Overrides:
activate in class AbstractAgent

live

public void live()
Description copied from class: Agent
This method defines the main behavior of threaded agents.

Overrides:
live in class Agent

handleMessage

protected void handleMessage(Message ms)

handleMessage

protected void handleMessage(StringMessage str)

addAgent

protected void addAgent(AbstractAgent ag,
                        java.awt.Component c,
                        java.awt.Point p,
                        java.awt.Dimension d)

removeGUI

protected void removeGUI(java.awt.Component c)

windowClosing

public void windowClosing(java.awt.AWTEvent we)
Overrides:
windowClosing in class AbstractAgent


Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.