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:
Canvas, Window, Applet, BufferStrategy
  • 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:
      BufferCapabilities.isPageFlipping()
    • getBackBuffer

      protected Image getBackBuffer()
      Returns:
      direct access to 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:
      BufferCapabilities.getFlipContents()
    • 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:
      VolatileImage
    • 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:
      VolatileImage
    • 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:
      Window.createBufferStrategy(int), Canvas.createBufferStrategy(int), Window.getBufferStrategy(), Canvas.getBufferStrategy()