# 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
Description
`protected VolatileImage[]`
`backBuffers`
The back buffers
`protected BufferCapabilities`
`caps`
The buffering capabilities
`protected int`
`height`
Height of the back buffers
`protected boolean`
`validatedContents`
Whether or not the drawing buffer has been recently restored from a lost state.
`protected int`
`width`
Width of the back buffers

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
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 declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Field Details

### 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
Width of the back buffers

### height

protected int height
Height of the back buffers

## Constructor Details

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

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

Parameters:
  `numBuffers` - the number of buffers to create

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