Package madkit.gui
Class ConsoleAgent
java.lang.Object
madkit.kernel.AbstractAgent
madkit.gui.ConsoleAgent
- All Implemented Interfaces:
Comparable<AbstractAgent>
This agent displays standard out and err prints in its GUI. This agent is useful when the application is not launched
from a command line or an IDE so that the console is not directly visible.
- Since:
- MaDKit 5.0.0.14
- Version:
- 0.91
- Author:
- Fabien Michel
-
Nested Class Summary
Nested classes/interfaces inherited from class madkit.kernel.AbstractAgent
AbstractAgent.ReturnCode, AbstractAgent.State
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
end()
This method corresponds to the last behavior which is called by the MaDKit kernel.void
setupFrame
(AgentFrame frame) Called when the default GUI mechanism is used upon agent creation.Methods inherited from class madkit.kernel.AbstractAgent
activate, broadcastMessage, broadcastMessageWithRole, bucketModeCreateGroup, bucketModeRequestRole, checkAgentAddress, compareTo, createGroup, createGroup, createGroup, createGroupIfAbsent, createGroupIfAbsent, createGroupIfAbsent, createGUIOnStartUp, destroyCommunity, destroyGroup, destroyRole, executeThisAgent, executeThisAgent, executeThisAgent, getAgentAddressIn, getAgentsWithRole, getAgentsWithRole, getAgentWithRole, getDistantAgentWithRole, getExistingCommunities, getExistingGroups, getExistingRoles, getKernelAddress, getLastReceivedMessage, getLastReceivedMessage, getLogger, getMadkitConfig, getMadkitProperty, getMadkitProperty, getMyGroups, getMyRoles, getName, getNetworkID, getNextEventDate, getOrganizationSnapShot, getReplyTo, getServerInfo, getSimpleNetworkID, getSimulationTime, getState, hasGUI, hashCode, hasRole, isAlive, isCommunity, isGroup, isKernelOnline, isMadkitPropertyTrue, isMessageBoxEmpty, isRole, killAgent, killAgent, launchAgent, launchAgent, launchAgent, launchAgent, launchAgent, launchAgent, launchAgent, launchAgent, launchAgentBucket, launchAgentBucket, launchAgentBucket, launchAgentBucket, launchNode, launchXmlAgents, leaveGroup, leaveRole, nextMessage, nextMessage, nextMessages, proceedEnumMessage, purgeMailbox, receiveMessage, reload, requestRole, requestRole, sendMessage, sendMessage, sendMessageWithRole, sendMessageWithRole, sendReply, sendReplyWithRole, setLogLevel, setMadkitProperty, setMadkitProperty, setName, toString
-
Constructor Details
-
ConsoleAgent
public ConsoleAgent()
-
-
Method Details
-
setupFrame
Description copied from class:AbstractAgent
Called when the default GUI mechanism is used upon agent creation. This provides an empty frame which will be used as GUI for the agent. The life cycle of the frame is automatically managed: The frame is disposed when the agent is terminated. Some menus are available by default. Default code is only one line:frame.setContentPane(new OutputPanel(this));
. Default settings for the frame are:- width = 400
- height = 300
- location = center of the screen
- a JMenuBar with:
MadkitMenu
,AgentMenu
andAgentLogLevelMenu
- Overrides:
setupFrame
in classAbstractAgent
- Parameters:
frame
- the default frame which has been created by MaDKit for this agent.- See Also:
-
end
protected void end()Description copied from class:AbstractAgent
This method corresponds to the last behavior which is called by the MaDKit kernel. This call occurs when a threaded agent normally exits its live method or when the agent is killed. Usually a good place to release taken resources or log what has to be logged. It has to be noted that the kernel automatically takes care of removing the agent from the organizations it is in. However, this cleaning is not logged by the agent. Therefore it could be of interest for the agent to do that itself.Here is a typical example:
@Override protected void end() { AbstractAgent.ReturnCode returnCode = leaveRole("a community", "a group", "my role"); if (returnCode == AbstractAgent.ReturnCode.SUCCESS){ if(logger != null) logger.info("I am leaving the artificial society"); } else{ if(logger != null) logger.warning("something wrong when ending, return code is "+returnCode); } if(logger != null) logger.info("I am done"); } }
- Overrides:
end
in classAbstractAgent
-