- 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 aCanvas
orWindow
.- Since:
- 1.4
- See Also:
Canvas
,Window
,BufferStrategy
-
-
Field Summary
Fields Modifier and Type Field and Description protected BufferCapabilities
caps
The buffering capabilitiesprotected Image
drawBuffer
The drawing bufferprotected VolatileImage
drawVBuffer
The drawing buffer as a volatile imageprotected int
numBuffers
The number of buffersprotected boolean
validatedContents
Whether or not the drawing buffer has been recently restored from a lost state.
-
Constructor Summary
Constructors Modifier Constructor and Description protected
Component.FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
Creates a new flipping buffer strategy for this component.
-
Method Summary
Methods Modifier and Type Method and Description boolean
contentsLost()
Returns whether the drawing buffer was lost since the last call togetDrawGraphics
.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 objectvoid
dispose()
Releases system resources currently consumed by thisBufferStrategy
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 theBufferCapabilities
for thisBufferStrategy
.Graphics
getDrawGraphics()
Creates a graphics context for the drawing buffer.protected void
revalidate()
Restore the drawing buffer if it has been lostvoid
show()
Makes the next available buffer visible by either blitting or flipping.
-
-
-
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 aCanvas
orWindow
.- 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
- ifnumBuffers
is less than two, or ifBufferCapabilities.isPageFlipping
is nottrue
.- See Also:
Canvas
,Window
,createBuffers(int, BufferCapabilities)
-
-
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 onecaps
- the capabilities of the buffers.BufferCapabilities.isPageFlipping
must 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.isPageFlipping
is nottrue
.- 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 theBufferCapabilities.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 theBufferCapabilities
for thisBufferStrategy
.- Specified by:
getCapabilities
in classBufferStrategy
- 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 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:BufferStrategy
Returns 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:
contentsLost
in 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: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 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:
contentsRestored
in 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:
show
in classBufferStrategy
-
dispose
public void dispose()
Releases system resources currently consumed by thisBufferStrategy
and removes it from the associated Component. After invoking this method,getBufferStrategy
will return null. Trying to use aBufferStrategy
after it has been disposed will result in undefined behavior.- Overrides:
dispose
in classBufferStrategy
- Since:
- 1.6
- See Also:
Window.createBufferStrategy(int)
,Canvas.createBufferStrategy(int)
,Window.getBufferStrategy()
,Canvas.getBufferStrategy()
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
22/12/2024 15:33:07 Cette version de la page est en cache (à la date du 22/12/2024 15:33:07) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/awt/component.flipbufferstrategy.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.