# Class SwingFXUtils

java.lang.Object
javafx.embed.swing.SwingFXUtils

public class SwingFXUtils extends Object
This class provides utility methods for converting data types between Swing/AWT and JavaFX formats.

Since:
  JavaFX 2.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static BufferedImage`
  `fromFXImage(Image img, BufferedImage bimg)`
  Snapshots the specified JavaFX `Image` object and stores a copy of its pixels into a `BufferedImage` object, creating a new object if needed.
  `static WritableImage`
  `toFXImage(BufferedImage bimg, WritableImage wimg)`
  Snapshots the specified `BufferedImage` and stores a copy of its pixels into a JavaFX `Image` object, creating a new object if needed.

  ### Methods declared in class java.lang.Object

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

- ## Method Details

  - ### toFXImage

    public static WritableImage toFXImage(BufferedImage bimg, WritableImage wimg)
    Snapshots the specified `BufferedImage` and stores a copy of its pixels into a JavaFX `Image` object, creating a new object if needed. The returned `Image` will be a static snapshot of the state of the pixels in the `BufferedImage` at the time the method completes. Further changes to the `BufferedImage` will not be reflected in the `Image`.

    The optional JavaFX `WritableImage` parameter may be reused to store the copy of the pixels. A new `Image` will be created if the supplied object is null, is too small or of a type which the image pixels cannot be easily converted into.

    Parameters:
      `bimg` - the `BufferedImage` object to be converted
      `wimg` - an optional `WritableImage` object that can be used to store the returned pixel data
    Returns:
      an `Image` object representing a snapshot of the current pixels in the `BufferedImage`.
    Since:
      JavaFX 2.2

  - ### fromFXImage

    public static BufferedImage fromFXImage(Image img, BufferedImage bimg)
    Snapshots the specified JavaFX `Image` object and stores a copy of its pixels into a `BufferedImage` object, creating a new object if needed. The method will only convert a JavaFX `Image` that is readable as per the conditions on the `Image.getPixelReader()` method. If the `Image` is not readable, as determined by its `getPixelReader()` method, then this method will return null. If the `Image` is a writable, or other dynamic image, then the `BufferedImage` will only be set to the current state of the pixels in the image as determined by its `PixelReader`. Further changes to the pixels of the `Image` will not be reflected in the returned `BufferedImage`.

    The optional `BufferedImage` parameter may be reused to store the copy of the pixels. A new `BufferedImage` will be created if the supplied object is null, is too small or of a type which the image pixels cannot be easily converted into.

    Parameters:
      `img` - the JavaFX `Image` to be converted
      `bimg` - an optional `BufferedImage` object that may be used to store the returned pixel data
    Returns:
      a `BufferedImage` containing a snapshot of the JavaFX `Image`, or null if the `Image` is not readable.
    Since:
      JavaFX 2.2