|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
fr.lifl.jedi.gui.display.colorGrid.view.ColorGridGUI
public class ColorGridGUI
This class corresponds to the frame where simulations are displayed.
This GUI displays the simulation as a two dimensional panel.
Every agent family is displayed thanks to an instance of the AgentDisplayer class.
In order to define how agents are represented in the environment,
a particular object has to be created, and to be added to the
GUI (see and
{@link ColorGridModel#setHowToDisplay(Class, AgentDisplayer)}
).
Such an object has to extend the class AgentDisplayer
, or to
instantiate one of the following classes :
ColorRectangleDisplayer
: it displays the agent
as a rectangle filled with a particular color.
The dimensions of the rectangle are based on the surface
of the agent.
ColorRectangleWithLineDisplayer
: it displays the agent
as a rectangle filled with a particular color.
The dimensions of the rectangle are based on the surface
of the agent.
Moreover, the direction of the agent is displayed within the
rectangle in a particular color.
ColorTriangleDisplayer
: it displays the agent
as a triangle filled with a particular color.
The dimensions of the triangle are based on the surface
of the agent.
The triangle rotates according to the direction of the
agent.
EmptyDisplayer
: it does not display the agent in the
GUI.
StaticColorRectangleDisplayer
: it displays the agent
as a rectangle filled with a particular color.
The dimensions of the rectangle are defined at the beginning
of the simulation, and do not depend on the surface of the
agent.
StaticColorTriangleDisplayer
: it displays the agent
as a triangle filled with a particular color.
The dimensions of the triangle are defined at the beginning
of the simulation, and do not depend on the surface of the
agent.
The triangle rotates according to the direction of the
agent.
IconDisplayer
: it displays the agent
as an icon.
The dimensions of the icon are based on the surface
of the agent.
StaticIconDisplayer
: it displays the agent
as an icon.
The dimensions of the icon are defined at the beginning
of the simulation, and do not depend on the surface of the
agent.
JEDI V 2.2 |
Created the 4th nov. 2008 |
Created the 5th may 2009 |
Yoann Kubera |
SMAC Team (Systèmes Multi-Agents et Comportement) |
LIFL (Laboratoire d'Informatique Fondamentale de Lille) |
University of Lille, France |
ColorGridModel
,
AgentDisplayer
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JFrame |
---|
javax.swing.JFrame.AccessibleJFrame |
Nested classes/interfaces inherited from class java.awt.Frame |
---|
java.awt.Frame.AccessibleAWTFrame |
Nested classes/interfaces inherited from class java.awt.Window |
---|
java.awt.Window.AccessibleAWTWindow |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class javax.swing.JFrame |
---|
accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
ColorGridGUI(Environment e,
java.lang.String title,
int scalingFactor)
Constructor of simulations GUI. |
|
ColorGridGUI(Environment e,
java.lang.String title,
int width,
int height,
int scalingFactor)
Constructor of simulations GUI. |
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
|
void |
addObserver(java.util.Observer o)
Adds an observer to this GUI |
protected ColorGridDisplayPanel |
createDisplayPanel(Environment e,
int width,
int height,
int scalingFactor)
Factory method used to create the panel where the simulation is displayed. |
void |
displayGUI()
This method makes the GUI visible. |
ColorGridDisplayPanel |
getDisplayPanel()
Gets the panel where the simulation is drawn. |
ColorGridDisplayUI |
getDisplayUI()
Gets the element that draws the simulation on screen. |
ColorGridModel |
getGraphicalModel()
Gets the graphical model associated with the GUI. |
javax.swing.JSlider |
getScaleBar()
Gets the slide bar where the scaling factor of painting is defined. |
javax.swing.JLabel |
getScaleLabel()
Gets the label where the zoom current value is displayed. |
javax.swing.JLabel |
getStepsLabel()
Gets the label where the current time step number is displayed. |
void |
notifyObservers(ISimulationEvent m)
Notifies a message to all observers registered to this GUI. |
void |
removeObserver(java.util.Observer o)
Removes an observer from this GUI |
void |
windowActivated(java.awt.event.WindowEvent e)
|
void |
windowClosed(java.awt.event.WindowEvent e)
|
void |
windowClosing(java.awt.event.WindowEvent e)
|
void |
windowDeactivated(java.awt.event.WindowEvent e)
|
void |
windowDeiconified(java.awt.event.WindowEvent e)
|
void |
windowIconified(java.awt.event.WindowEvent e)
|
void |
windowOpened(java.awt.event.WindowEvent e)
|
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, setResizable, setState, setTitle, setUndecorated |
Methods inherited from class java.awt.Window |
---|
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, transferFocusBackward, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, 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 |
Constructor Detail |
---|
public ColorGridGUI(Environment e, java.lang.String title, int width, int height, int scalingFactor)
e
- The environment to display in the GUItitle
- The text used as title of the frame.width
- The width of the displayed frame.height
- The height of the displayed frame.scalingFactor
- The factor that is used to scale all distances defined in the simulation.public ColorGridGUI(Environment e, java.lang.String title, int scalingFactor)
This GUI uses a default resolution of 800 x 600.
e
- The environment to display in the GUItitle
- The text used as title of the frame.scalingFactor
- The factor that is used to scale all distances defined in the simulation.Method Detail |
---|
protected ColorGridDisplayPanel createDisplayPanel(Environment e, int width, int height, int scalingFactor)
e
- The environment to display in the GUIwidth
- The width of the displayed frame.height
- The height of the displayed frame.scalingFactor
- The factor that is used to scale all distances defined in the simulation.public ColorGridDisplayUI getDisplayUI()
public ColorGridDisplayPanel getDisplayPanel()
public ColorGridModel getGraphicalModel()
This model defines :
public javax.swing.JLabel getStepsLabel()
public javax.swing.JSlider getScaleBar()
public javax.swing.JLabel getScaleLabel()
public void displayGUI()
public void addObserver(java.util.Observer o)
ISimulationGUI
addObserver
in interface ISimulationGUI
o
- The observer to add to the GUIISimulationGUI.addObserver(java.util.Observer)
public void removeObserver(java.util.Observer o)
ISimulationGUI
removeObserver
in interface ISimulationGUI
o
- The observer to add to the GUIISimulationGUI.removeObserver(java.util.Observer)
public void notifyObservers(ISimulationEvent m)
ISimulationGUI
notifyObservers
in interface ISimulationGUI
m
- The notified event.ISimulationGUI.notifyObservers(ISimulationEvent)
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
ActionListener.actionPerformed(java.awt.event.ActionEvent)
public void windowActivated(java.awt.event.WindowEvent e)
windowActivated
in interface java.awt.event.WindowListener
WindowListener.windowActivated(java.awt.event.WindowEvent)
public void windowClosed(java.awt.event.WindowEvent e)
windowClosed
in interface java.awt.event.WindowListener
WindowListener.windowClosed(java.awt.event.WindowEvent)
public void windowClosing(java.awt.event.WindowEvent e)
windowClosing
in interface java.awt.event.WindowListener
WindowListener.windowClosing(java.awt.event.WindowEvent)
public void windowDeactivated(java.awt.event.WindowEvent e)
windowDeactivated
in interface java.awt.event.WindowListener
WindowListener.windowDeactivated(java.awt.event.WindowEvent)
public void windowDeiconified(java.awt.event.WindowEvent e)
windowDeiconified
in interface java.awt.event.WindowListener
WindowListener.windowDeiconified(java.awt.event.WindowEvent)
public void windowIconified(java.awt.event.WindowEvent e)
windowIconified
in interface java.awt.event.WindowListener
WindowListener.windowIconified(java.awt.event.WindowEvent)
public void windowOpened(java.awt.event.WindowEvent e)
windowOpened
in interface java.awt.event.WindowListener
WindowListener.windowOpened(java.awt.event.WindowEvent)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |