Package madkit.gui

# Class AgentFrame

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
madkit.gui.AgentFrame

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Printable`, `Serializable`, `Accessible`, `RootPaneContainer`, `WindowConstants`, `PrintableFrame`

public class AgentFrame extends JFrame implements PrintableFrame
The default frame which is used for the agents in the GUI engine of MaDKit. Subclasses could be defined to obtain customized frames.

Since:
  MaDKit 5.0.0.9
Version:
  0.92
Author:
  Fabien Michel
See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class javax.swing.JFrame

  `JFrame.AccessibleJFrame`

  ## Nested classes/interfaces inherited from class java.awt.Frame

  `Frame.AccessibleAWTFrame`

  ## Nested classes/interfaces inherited from class java.awt.Window

  `Window.AccessibleAWTWindow, Window.Type`

  ## Nested classes/interfaces inherited from class java.awt.Container

  `Container.AccessibleAWTContainer`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## Field Summary

  ### Fields inherited from class javax.swing.JFrame

  `accessibleContext, rootPane, rootPaneCheckingEnabled`

  ### Fields inherited from class java.awt.Frame

  `CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

  ### Fields inherited from class java.awt.Component

  `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields inherited from interface java.awt.image.ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  ### Fields inherited from interface java.awt.print.Printable

  `NO_SUCH_PAGE, PAGE_EXISTS`

  ### Fields inherited from interface javax.swing.WindowConstants

  `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AgentFrame(AbstractAgent agent)`
  TThis constructor is protected because this class should not be directly instantiated as it is used by the MaDKit GUI manager.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static AgentFrame`
  `createAgentFrame(AbstractAgent agent)`
  Override to customize the agent frame that should be created by the GUI engine.
  `JToolBar`
  `createJToolBar()`
  Builds the tool bar that will be used.
  `JMenuBar`
  `createMenuBar()`
  Builds the menu bar that will be used for this frame.
  `void`
  `dispose()`
  `AbstractAgent`
  `getAgent()`
  `Color`
  `getLastSavedBackgroundPreference()`
  `Dimension`
  `getLastSavedDimensionPreference()`
  `Point`
  `getLastSavedLocationPreference()`
  `Container`
  `getPrintableContainer()`
  `void`
  `pack()`
  `void`
  `restoreUIPreferences()`
  `void`
  `setBackground(Color bgColor)`
  `void`
  `setLocation(int x, int y)`
  `void`
  `setSize(int width, int height)`
  `String`
  `toString()`

  ### Methods inherited from class javax.swing.JFrame

  `addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

  ### Methods inherited from class java.awt.Frame

  `addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

  ### Methods inherited from class java.awt.Window

  `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setType, setVisible, show, toBack, toFront`

  ### Methods inherited from class java.awt.Container

  `add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree`

  ### Methods inherited from class java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface java.awt.MenuContainer

  `getFont, postEvent`

  ### Methods inherited from interface madkit.gui.PrintableFrame

  `print`

- ## Constructor Details

  - ### AgentFrame

    protected AgentFrame(AbstractAgent agent)
    TThis constructor is protected because this class should not be directly instantiated as it is used by the MaDKit GUI manager.
    Parameters:
      `agent` - the considered agent

- ## Method Details

  - ### dispose

    public void dispose()
    Overrides:
      `dispose` in class `Window`

  - ### getLastSavedDimensionPreference

    public Dimension getLastSavedDimensionPreference()

  - ### getLastSavedLocationPreference

    public Point getLastSavedLocationPreference()

  - ### getLastSavedBackgroundPreference

    public Color getLastSavedBackgroundPreference()

  - ### restoreUIPreferences

    public void restoreUIPreferences()

  - ### createMenuBar

    public JMenuBar createMenuBar()
    Builds the menu bar that will be used for this frame. By default it creates a `JMenuBar` featuring:
    - `MadkitMenu`
    - `AgentMenu`
    - `AgentLogLevelMenu`
    - `HelpMenu`
    - `AgentStatusPanel`
    Returns:
      a menu bar

  - ### createJToolBar

    public JToolBar createJToolBar()
    Builds the tool bar that will be used. By default, it returns `null` so that there is no toll bar in the default agent frames.
    Returns:
      a tool bar

  - ### setLocation

    public void setLocation(int x, int y)
    Overrides:
      `setLocation` in class `Window`

  - ### setSize

    public void setSize(int width, int height)
    Overrides:
      `setSize` in class `Window`

  - ### pack

    public void pack()
    Overrides:
      `pack` in class `Window`

  - ### getAgent

    public AbstractAgent getAgent()
    Returns:
      the agent for which this frame has been created.

  - ### createAgentFrame

    public static AgentFrame createAgentFrame(AbstractAgent agent)
    Override to customize the agent frame that should be created by the GUI engine.
    Parameters:
      `agent` - the related agent
    Returns:
      the created frame

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Component`

  - ### getPrintableContainer

    public Container getPrintableContainer()
    Specified by:
      `getPrintableContainer` in interface `PrintableFrame`

  - ### setBackground

    public void setBackground(Color bgColor)
    Overrides:
      `setBackground` in class `Frame`