javax.swing

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

- - ### Field Summary

    - ### Fields inherited from class java.awt.image.RGBImageFilter

      `canFilterIndexColorModel, newmodel, origmodel`

    - ### Fields inherited from class java.awt.image.ImageFilter

      `consumer`

    - ### Fields inherited from interface java.awt.image.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

    All Methods Static Methods Instance Methods Concrete Methods
    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 inherited from class java.awt.image.RGBImageFilter

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

    - ### Methods inherited from class java.awt.image.ImageFilter

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

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

    - #### createDisabledImage

          public static Image createDisabledImage(Image i)

      Creates a disabled image

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.