edu.umd.cs.piccolox
Class PFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by edu.umd.cs.piccolox.PFrame
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class PFrame
extends JFrame

PFrame is meant to be subclassed by applications that just need a PCanvas in a JFrame. It also includes full screen mode functionality when run in JDK 1.4. These subclasses should override the initialize method and start adding their own code there. Look in the examples package to see lots of uses of PFrame.

Version:
1.0
Author:
Jesse Grosjean
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
 
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, 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
PFrame()
          Creates a PFrame with no title, not full screen, and with the default canvas.
PFrame(String title, boolean fullScreenMode, PCanvas canvas)
          Creates a PFrame with the given title and with the default canvas.
PFrame(String title, GraphicsDevice device, boolean fullScreen, PCanvas canvas)
          Creates a PFrame with the given title and with the default canvas being displayed on the provided device.
 
Method Summary
 void addEscapeFullScreenModeListener()
          This method adds a key listener that will take this PFrame out of full screen mode when the escape key is pressed.
 void beforeInitialize()
          This method will be called before the initialize() method and will be called on the thread that is constructing this object.
protected  void chooseBestDisplayMode(GraphicsDevice device)
          Sets the display mode to the best device mode that can be determined.
protected  DisplayMode getBestDisplayMode(GraphicsDevice device)
          Finds the best display mode the graphics device supports.
 PCanvas getCanvas()
          Returns the canvas being displayed on this frame.
 Rectangle getDefaultFrameBounds()
          Returns the default frame bounds.
protected  Collection getPreferredDisplayModes(GraphicsDevice device)
          By default return the current display mode.
 void initialize()
          Subclasses should override this method and add their Piccolo2D initialization code there.
 boolean isFullScreenMode()
          Returns whether the frame is currently in full screen mode.
static void main(String[] argv)
          Deprecated. since it's not terribly useful
 void removeEscapeFullScreenModeListener()
          This method removes the escape full screen mode key listener.
 void setFullScreenMode(boolean fullScreenMode)
          Switches full screen state.
 
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
 

Constructor Detail

PFrame

public PFrame()
Creates a PFrame with no title, not full screen, and with the default canvas.


PFrame

public PFrame(String title,
              boolean fullScreenMode,
              PCanvas canvas)
Creates a PFrame with the given title and with the default canvas.

Parameters:
title - title to display at the top of the frame
fullScreenMode - whether to display a full screen frame or not
canvas - to embed in the frame

PFrame

public PFrame(String title,
              GraphicsDevice device,
              boolean fullScreen,
              PCanvas canvas)
Creates a PFrame with the given title and with the default canvas being displayed on the provided device.

Parameters:
title - title to display at the top of the frame
device - device onto which PFrame is to be displayed
fullScreen - whether to display a full screen frame or not
canvas - to embed in the frame, may be null. If so, it'll create a default PCanvas
Method Detail

getCanvas

public PCanvas getCanvas()
Returns the canvas being displayed on this frame.

Returns:
canvas being displayed on this frame

getDefaultFrameBounds

public Rectangle getDefaultFrameBounds()
Returns the default frame bounds.

Returns:
default frame bounds

isFullScreenMode

public boolean isFullScreenMode()
Returns whether the frame is currently in full screen mode.

Returns:
whether the frame is currently in full screen mode

setFullScreenMode

public void setFullScreenMode(boolean fullScreenMode)
Switches full screen state.

Parameters:
fullScreenMode - whether to place the frame in full screen mode or not.

chooseBestDisplayMode

protected void chooseBestDisplayMode(GraphicsDevice device)
Sets the display mode to the best device mode that can be determined. Used in full screen mode.

Parameters:
device - The graphics device being controlled.

getBestDisplayMode

protected DisplayMode getBestDisplayMode(GraphicsDevice device)
Finds the best display mode the graphics device supports. Based on the preferred modes.

Parameters:
device - the device being inspected
Returns:
best display mode the given device supports

getPreferredDisplayModes

protected Collection getPreferredDisplayModes(GraphicsDevice device)
By default return the current display mode. Subclasses may override this method to return other modes in the collection.

Parameters:
device - the device being inspected
Returns:
preferred display mode

addEscapeFullScreenModeListener

public void addEscapeFullScreenModeListener()
This method adds a key listener that will take this PFrame out of full screen mode when the escape key is pressed. This is called for you automatically when the frame enters full screen mode.


removeEscapeFullScreenModeListener

public void removeEscapeFullScreenModeListener()
This method removes the escape full screen mode key listener. It will be called for you automatically when full screen mode exits, but the method has been made public for applications that wish to use other methods for exiting full screen mode.


beforeInitialize

public void beforeInitialize()
This method will be called before the initialize() method and will be called on the thread that is constructing this object.


initialize

public void initialize()
Subclasses should override this method and add their Piccolo2D initialization code there. This method will be called on the swing event dispatch thread. Note that the constructors of PFrame subclasses may not be complete when this method is called. If you need to initialize some things in your class before this method is called place that code in beforeInitialize();


main

public static void main(String[] argv)
Deprecated. since it's not terribly useful

Method for testing the creating of PFrame.

Parameters:
argv - command line arguments


Copyright © 1995-2010 Piccolo2D. All Rights Reserved.