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 Summary
Fields Modifier and Type Field Description protected BufferCapabilitiescapsThe buffering capabilitiesprotected ImagedrawBufferThe drawing bufferprotected VolatileImagedrawVBufferThe drawing buffer as a volatile imageprotected intnumBuffersThe number of buffersprotected booleanvalidatedContentsWhether or not the drawing buffer has been recently restored from a lost state. -
Constructor Summary
Constructors Modifier Constructor Description protectedFlipBufferStrategy(int numBuffers, BufferCapabilities caps)Creates a new flipping buffer strategy for this component. -
Method Summary
Modifier and Type Method Description booleancontentsLost()Returns whether the drawing buffer was lost since the last call togetDrawGraphics.booleancontentsRestored()Returns whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white).protected voidcreateBuffers(int numBuffers, BufferCapabilities caps)Creates one or more complex, flipping buffers with the given capabilities.protected voiddestroyBuffers()Destroys the buffers created through this objectvoiddispose()Releases system resources currently consumed by thisBufferStrategyand removes it from the associated Component.protected voidflip(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 ImagegetBackBuffer()BufferCapabilitiesgetCapabilities()Returns theBufferCapabilitiesfor thisBufferStrategy.GraphicsgetDrawGraphics()Creates a graphics context for the drawing buffer.protected voidrevalidate()Restore the drawing buffer if it has been lostvoidshow()Makes the next available buffer visible by either blitting or flipping.
-
Field Details
-
numBuffers
protected int numBuffersThe number of buffers -
caps
The buffering capabilities -
drawBuffer
The drawing buffer -
drawVBuffer
The drawing buffer as a volatile image -
validatedContents
protected boolean validatedContentsWhether or not the drawing buffer has been recently restored from a lost state.
-
-
Constructor Details
-
FlipBufferStrategy
Creates a new flipping buffer strategy for this component. The component must be aCanvasorWindoworApplet.- Parameters:
numBuffers- the number of bufferscaps- the capabilities of the buffers- Throws:
AWTException- if the capabilities supplied could not be supported or metClassCastException- if the component is not a canvas or window.IllegalStateException- if the component has no peerIllegalArgumentException- ifnumBuffersis less than two, or ifBufferCapabilities.isPageFlippingis nottrue.- See Also:
Canvas,Window,Applet,createBuffers(int, BufferCapabilities)
-
-
Method Details
-
createBuffers
Creates one or more complex, flipping buffers with the given capabilities.- Parameters:
numBuffers- number of buffers to create; must be greater than onecaps- the capabilities of the buffers.BufferCapabilities.isPageFlippingmust betrue.- Throws:
AWTException- if the capabilities supplied could not be supported or metIllegalStateException- if the component has no peerIllegalArgumentException- if numBuffers is less than two, or ifBufferCapabilities.isPageFlippingis nottrue.- See Also:
BufferCapabilities.isPageFlipping()
-
getBackBuffer
- Returns:
- direct access to the back buffer, as an image.
- Throws:
IllegalStateException- if the buffers have not yet been created
-
flip
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 theBufferCapabilities.FlipContentsproperty.- 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
Description copied from class:BufferStrategyReturns theBufferCapabilitiesfor thisBufferStrategy.- Specified by:
getCapabilitiesin classBufferStrategy- Returns:
- the buffering capabilities of this strategy
-
getDrawGraphics
Description copied from class:BufferStrategyCreates 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:
getDrawGraphicsin classBufferStrategy- 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:BufferStrategyReturns whether the drawing buffer was lost since the last call togetDrawGraphics. Since the buffers in a buffer strategy are usually typeVolatileImage, they may become lost. For a discussion on lost buffers, seeVolatileImage.- Specified by:
contentsLostin classBufferStrategy- Returns:
- whether the drawing buffer was lost since the last call to
getDrawGraphics - See Also:
VolatileImage
-
contentsRestored
public boolean contentsRestored()Description copied from class:BufferStrategyReturns 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 typeVolatileImage, they may become lost. If a surface has been recently restored from a lost state since the last call togetDrawGraphics, it may require repainting. For a discussion on lost buffers, seeVolatileImage.- Specified by:
contentsRestoredin classBufferStrategy- 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:
showin classBufferStrategy
-
dispose
public void dispose()Releases system resources currently consumed by thisBufferStrategyand removes it from the associated Component. After invoking this method,getBufferStrategywill return null. Trying to use aBufferStrategyafter it has been disposed will result in undefined behavior.- Overrides:
disposein classBufferStrategy- Since:
- 1.6
- See Also:
Window.createBufferStrategy(int),Canvas.createBufferStrategy(int),Window.getBufferStrategy(),Canvas.getBufferStrategy()
-