Component.BltBufferStrategy (Java Platform SE 8 )
Keywords: java.awt.Component.BltBufferStrategy class
Date: 2026-03-16

java.awt

## Class Component.BltBufferStrategy

- java.lang.Object
- - java.awt.image.BufferStrategy
  - - java.awt.Component.BltBufferStrategy

- Enclosing class:
    Component

      protected class Component.BltBufferStrategy
      extends BufferStrategy

  Inner class for blitting offscreen surfaces to a component.
  Since:
    1.4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected VolatileImage[]` | `backBuffers` The back buffers
    `protected BufferCapabilities` | `caps` The buffering capabilities
    `protected int` | `height`
    `protected boolean` | `validatedContents` Whether or not the drawing buffer has been recently restored from a lost state.
    `protected int` | `width` Size of the back buffers

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BltBufferStrategy(int numBuffers, BufferCapabilities caps)` Creates a new blt buffer strategy around a component

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `createBackBuffers(int numBuffers)` Creates the back buffers
    `void` | `dispose()` Releases system resources currently consumed by this `BufferStrategy` and removes it from the associated Component.
    `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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### caps

          protected BufferCapabilities caps

      The buffering capabilities

    - #### backBuffers

          protected VolatileImage[] backBuffers

      The back buffers

    - #### validatedContents

          protected boolean validatedContents

      Whether or not the drawing buffer has been recently restored from a lost state.

    - #### width

          protected int width

      Size of the back buffers

    - #### height

          protected int height

  - ### Constructor Detail

    - #### BltBufferStrategy

          protected BltBufferStrategy(int numBuffers,
                                      BufferCapabilities caps)

      Creates a new blt buffer strategy around a component
      Parameters:
        `numBuffers` - number of buffers to create, including the front buffer
        `caps` - the capabilities of the buffers

  - ### Method Detail

    - #### 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()`

    - #### createBackBuffers

          protected void createBackBuffers(int numBuffers)

      Creates the back buffers

    - #### 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 draw graphics

    - #### show

          public void show()

      Makes the next available buffer visible.
      Specified by:
        `show` in class `BufferStrategy`

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.