This package provides useful base classes for building graphical agent applications. The design follows a model-view-controller pattern. The AgentAppModel serves as model, the AgentAppFrame together with its embedded AgentView as view, and the AgentAppController as controller. The SimpleAgentAppDemo demonstrates, how this parts can be plugged together.

Start the main method of AgentAppFrame to see the layout of the frame. It is configurable in many ways, even without subclassing. A demo application with model, view, and controller, but still without any content, can be seen when starting the SimpleAgentAppDemo. Look for classes with the ending ...AppDemo in the aima.gui.applications package to see agents at work.

This simple framework is strongly based on inheritance. You can extend any of the given base classes with the features you need. To be very flexible with respect to content, no methods are included which transfer data between model and view. So typically, you will design a model and a corresponding AgentView together - the model should provide access to all the data, which is needed by the view to visualize the agent in its environment meaningful.