|
|||||||||
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
ppJava.serie04.oceanlife.OceanGUI
public class OceanGUI
OceanGUI is a JFrame GUI for the "oceanlife"-simulation. It manages file-operations like load and save of ocean-data and all actions which are performed. (MenuBar for file-ops and ToolBar for OceanObject related actions)
OceanInterface
,
Serialized FormNested Class Summary | |
---|---|
class |
OceanGUI.OceanMouseListener
Manages the "mouseClicked"-event. |
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 | |
---|---|
(package private) java.util.concurrent.CyclicBarrier |
barrier
For Threading - Movement of objects is synchronized |
private OceanCanvasPanel |
canvasPanel
JPanel for drawing the ocean |
private javax.swing.JFileChooser |
fc
FileChooser for load/save dialogs |
private static int |
HEIGHT
|
private java.awt.event.ActionListener |
menuBarActionListener
Manages action performed on the menuBar (load/save-file and quit) |
private Ocean |
ocean
This is the ocean which manages the oceanObjects |
private static int |
OCEAN_DEPTH
|
private static int |
OCEAN_WIDTH
|
private OceanObject |
pendingObject
This object is generated if ToolBarItem is clicked and added if set a position in OceanCanvasPanel |
private static long |
serialVersionUID
|
private static int |
TBVERTICAL
Determines if ToolBar is vertically aligned |
(package private) javax.swing.Timer |
timer
Timer for trigger repaint of JPanel and recalculate oceanObjects |
(package private) int |
timing
Pause between triggering of Timer |
private OceanToolbar |
toolbar
Toolbar for control of oceanObjects |
private java.awt.event.ActionListener |
toolBarActionListener
Manages action performed on a toolBar (create/remove-Objects and control of movement) |
private static int |
WIDTH
|
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, PROPERTIES, SOMEBITS |
Constructor Summary | |
---|---|
OceanGUI()
|
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent arg0)
Repaints Panel and recalculates collisions |
void |
addNewObject(OceanObject oceanObject)
Adds a oceanObject to ComboBox (of toolBar) and appends it to ocean |
private void |
buildGUI()
Builds all components of GUI. |
void |
checkObjectPositions(java.util.LinkedList<OceanObject> oceanObjects)
Collision detection (i.e. |
private void |
clearOcean()
Removes all oceanObjects from GUI-related interfaces and clears the list of oceanObjects |
private void |
initOcean(java.util.LinkedList<OceanObject> objList)
Initializes an ocean with fixed size and a list of OceanObjects |
static void |
main(java.lang.String[] args)
Called first - builds the GUI and starts a Timer which triggers control and drawing of the ocean |
void |
refreshComboList()
Refresh records of ComboList |
private void |
removeObject(int index)
Removes a specific oceanObject at an given index (Removes this also from GUI) |
private void |
startOceanThreads()
|
private void |
startTimer()
Triggers recalculating and repaint |
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, 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, paint, 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, 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, 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 |
Field Detail |
---|
private static final long serialVersionUID
private javax.swing.JFileChooser fc
private OceanCanvasPanel canvasPanel
private OceanToolbar toolbar
private static int WIDTH
private static int HEIGHT
private static int OCEAN_WIDTH
private static int OCEAN_DEPTH
private static int TBVERTICAL
private Ocean ocean
private OceanObject pendingObject
java.util.concurrent.CyclicBarrier barrier
javax.swing.Timer timer
int timing
private java.awt.event.ActionListener toolBarActionListener
private java.awt.event.ActionListener menuBarActionListener
Constructor Detail |
---|
public OceanGUI()
Method Detail |
---|
private void initOcean(java.util.LinkedList<OceanObject> objList)
objList
- OceanObject
private void clearOcean()
private void removeObject(int index) throws OceanException
index
-
OceanException
public void addNewObject(OceanObject oceanObject) throws OceanException
oceanObject
-
OceanException
- (i.e. invalid position)public void refreshComboList()
private void buildGUI()
OceanMenuBar
,
OceanToolbar
,
OceanCanvasPanel
,
menuBarActionListener
,
toolBarActionListener
,
OceanGUI.OceanMouseListener
private void startTimer()
private void startOceanThreads()
public void actionPerformed(java.awt.event.ActionEvent arg0)
actionPerformed
in interface java.awt.event.ActionListener
public void checkObjectPositions(java.util.LinkedList<OceanObject> oceanObjects)
oceanObjects
- - list of objects which are checkedpublic static void main(java.lang.String[] args)
args
- -- ignored
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |