# Class GrayFilter

java.lang.Object
java.awt.image.ImageFilter
java.awt.image.RGBImageFilter
javax.swing.GrayFilter

All Implemented Interfaces:
  `ImageConsumer, Cloneable`

public class GrayFilter extends RGBImageFilter
An image filter that "disables" an image by turning it into a grayscale image, and brightening the pixels in the image. Used by buttons to create an image for a disabled button.

Since:
  1.2

- ## Field Summary

  ### Fields declared in class RGBImageFilter

  `canFilterIndexColorModel, newmodel, origmodel`

  ### Fields declared in class ImageFilter

  `consumer`

  ### Fields declared in interface ImageConsumer

  `COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GrayFilter(boolean b, int p)`
  Constructs a GrayFilter object that filters a color image to a grayscale image.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Image`
  `createDisabledImage(Image i)`
  Creates a disabled image
  `int`
  `filterRGB(int x, int y, int rgb)`
  Overrides `RGBImageFilter.filterRGB`.

  ### Methods declared in class RGBImageFilter

  `filterIndexColorModel, filterRGBPixels, setColorModel, setPixels, setPixels, substituteColorModel`

  ### Methods declared in class ImageFilter

  `clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setDimensions, setHints, setProperties`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### GrayFilter

    public GrayFilter(boolean b, int p)
    Constructs a GrayFilter object that filters a color image to a grayscale image. Used by buttons to create disabled ("grayed out") button images.
    Parameters:
      `b` - a boolean -- true if the pixels should be brightened
      `p` - an int in the range 0..100 that determines the percentage of gray, where 100 is the darkest gray, and 0 is the lightest

- ## Method Details

  - ### createDisabledImage

    public static Image createDisabledImage(Image i)
    Creates a disabled image
    Parameters:
      `i` - an `Image` to be created as disabled
    Returns:
      the new grayscale image created from `i`

  - ### filterRGB

    public int filterRGB(int x, int y, int rgb)
    Overrides `RGBImageFilter.filterRGB`.
    Specified by:
      `filterRGB` in class `RGBImageFilter`
    Parameters:
      `x` - the X coordinate of the pixel
      `y` - the Y coordinate of the pixel
      `rgb` - the integer pixel representation in the default RGB color model
    Returns:
      a filtered pixel in the default RGB color model.
    See Also:
      - `ColorModel.getRGBdefault()`
      - `RGBImageFilter.filterRGBPixels(int, int, int, int, int[], int, int)`