Module java.desktop
Package java.awt

Class Component.FlipBufferStrategy

java.lang.Object
java.awt.image.BufferStrategy
java.awt.Component.FlipBufferStrategy
Enclosing class:
Component

protected class Component.FlipBufferStrategy extends BufferStrategy
Inner class for flipping buffers on a component. That component must be a Canvas or Window or Applet.
Since:
1.4
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    The buffering capabilities
    protected Image
    The drawing buffer
    protected VolatileImage
    The drawing buffer as a volatile image
    protected int
    The number of buffers
    protected boolean
    Whether or not the drawing buffer has been recently restored from a lost state.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
    Creates a new flipping buffer strategy for this component.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns whether the drawing buffer was lost since the last call to getDrawGraphics.
    boolean
    Returns whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white).
    protected void
    createBuffers(int numBuffers, BufferCapabilities caps)
    Creates one or more complex, flipping buffers with the given capabilities.
    protected void
    Destroys the buffers created through this object
    void
    Releases system resources currently consumed by this BufferStrategy and removes it from the associated Component.
    protected void
    Flipping moves the contents of the back buffer to the front buffer, either by copying or by moving the video pointer.
    protected Image
    Provides direct access to the back buffer as an image.
    Returns the BufferCapabilities for this BufferStrategy.
    Creates a graphics context for the drawing buffer.
    protected void
    Restore the drawing buffer if it has been lost
    void
    Makes the next available buffer visible by either blitting or flipping.

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • numBuffers

      protected int numBuffers
      The number of buffers
    • caps

      protected BufferCapabilities caps
      The buffering capabilities
    • drawBuffer

      protected Image drawBuffer
      The drawing buffer
    • drawVBuffer

      protected VolatileImage drawVBuffer
      The drawing buffer as a volatile image
    • validatedContents

      protected boolean validatedContents
      Whether or not the drawing buffer has been recently restored from a lost state.
  • Constructor Details

  • Method Details

    • createBuffers

      protected void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException
      Creates one or more complex, flipping buffers with the given capabilities.
      Parameters:
      numBuffers - number of buffers to create; must be greater than one
      caps - the capabilities of the buffers. BufferCapabilities.isPageFlipping must be true.
      Throws:
      AWTException - if the capabilities supplied could not be supported or met
      IllegalStateException - if the component has no peer
      IllegalArgumentException - if numBuffers is less than two, or if BufferCapabilities.isPageFlipping is not true.
      See Also:
    • getBackBuffer

      protected Image getBackBuffer()
      Provides direct access to the back buffer as an image.
      Returns:
      the back buffer as an image
      Throws:
      IllegalStateException - if the buffers have not yet been created
    • flip

      protected void flip(BufferCapabilities.FlipContents flipAction)
      Flipping moves the contents of the back buffer to the front buffer, either by copying or by moving the video pointer.
      Parameters:
      flipAction - an integer value describing the flipping action for the contents of the back buffer. This should be one of the values of the BufferCapabilities.FlipContents property.
      Throws:
      IllegalStateException - if the buffers have not yet been created
      See Also:
    • destroyBuffers

      protected void destroyBuffers()
      Destroys the buffers created through this object
    • getCapabilities

      public BufferCapabilities getCapabilities()
      Description copied from class: BufferStrategy
      Returns the BufferCapabilities for this BufferStrategy.
      Specified by:
      getCapabilities in class BufferStrategy
      Returns:
      the buffering capabilities of this strategy
    • getDrawGraphics

      public Graphics getDrawGraphics()
      Description copied from class: BufferStrategy
      Creates a graphics context for the drawing buffer. This method may not be synchronized for performance reasons; use of this method by multiple threads should be handled at the application level. Disposal of the graphics object obtained must be handled by the application.
      Specified by:
      getDrawGraphics in class BufferStrategy
      Returns:
      the graphics on the drawing buffer. This method may not be synchronized for performance reasons; use of this method by multiple threads should be handled at the application level. Disposal of the graphics object must be handled by the application.
    • revalidate

      protected void revalidate()
      Restore the drawing buffer if it has been lost
    • contentsLost

      public boolean contentsLost()
      Description copied from class: BufferStrategy
      Returns whether the drawing buffer was lost since the last call to getDrawGraphics. Since the buffers in a buffer strategy are usually type VolatileImage, they may become lost. For a discussion on lost buffers, see VolatileImage.
      Specified by:
      contentsLost in class BufferStrategy
      Returns:
      whether the drawing buffer was lost since the last call to getDrawGraphics
      See Also:
    • contentsRestored

      public boolean contentsRestored()
      Description copied from class: BufferStrategy
      Returns whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white). Since the buffers in a buffer strategy are usually type VolatileImage, they may become lost. If a surface has been recently restored from a lost state since the last call to getDrawGraphics, it may require repainting. For a discussion on lost buffers, see VolatileImage.
      Specified by:
      contentsRestored in class BufferStrategy
      Returns:
      whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white)
      See Also:
    • show

      public void show()
      Makes the next available buffer visible by either blitting or flipping.
      Specified by:
      show in class BufferStrategy
    • dispose

      public void dispose()
      Releases system resources currently consumed by this BufferStrategy and removes it from the associated Component. After invoking this method, getBufferStrategy will return null. Trying to use a BufferStrategy after it has been disposed will result in undefined behavior.
      Overrides:
      dispose in class BufferStrategy
      Since:
      1.6
      See Also: