Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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`.

Since:
  1.4
See Also:
  `Canvas`, `Window`, `BufferStrategy`

Field Summary
`protected BufferCapabilities` | `caps` The buffering capabilities
`protected Image` | `drawBuffer` The drawing buffer
`protected VolatileImage` | `drawVBuffer` The drawing buffer as a volatile image
`protected int` | `numBuffers` The number of buffers
`protected boolean` | `validatedContents` Whether or not the drawing buffer has been recently restored from a lost state.

Constructor Summary
`protected` | `Component.FlipBufferStrategy(int numBuffers, BufferCapabilities caps)` Creates a new flipping buffer strategy for this component.

Method Summary
`boolean` | `contentsLost()` Returns whether the drawing buffer was lost since the last call to `getDrawGraphics`.
`boolean` | `contentsRestored()` 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` | `destroyBuffers()` Destroys the buffers created through this object
`void` | `dispose()` Releases system resources currently consumed by this `BufferStrategy` and removes it from the associated Component.
`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.
`protected Image` | `getBackBuffer()`
`BufferCapabilities` | `getCapabilities()` Returns the `BufferCapabilities` for this `BufferStrategy`.
`Graphics` | `getDrawGraphics()` Creates a graphics context for the drawing buffer.
`protected void` | `revalidate()` Restore the drawing buffer if it has been lost
`void` | `show()` Makes the next available buffer visible by either blitting or flipping.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### 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 Detail

### Component.FlipBufferStrategy

    protected Component.FlipBufferStrategy(int numBuffers,
                                           BufferCapabilities caps)
                                    throws AWTException

  Creates a new flipping buffer strategy for this component. The component must be a `Canvas` or `Window`.

  Parameters:
    `numBuffers` - the number of buffers
    `caps` - the capabilities of the buffers
  Throws:
    `AWTException` - if the capabilities supplied could not be supported or met
    `ClassCastException` - if the component is not a canvas or window.
  See Also:
    `Canvas`, `Window`

Method Detail

### 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:
    `Component.createBufferStrategy(int)`, `Component.getBufferStrategy()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.