DisplayMode (Java Platform SE 8 )
Keywords: java.awt.DisplayMode class
Date: 2026-04-17

java.awt

## Class DisplayMode

- java.lang.Object
- - java.awt.DisplayMode

-     public final class DisplayMode
      extends Object

  The `DisplayMode` class encapsulates the bit depth, height, width, and refresh rate of a `GraphicsDevice`. The ability to change graphics device's display mode is platform- and configuration-dependent and may not always be available (see `GraphicsDevice.isDisplayChangeSupported()`).

  For more information on full-screen exclusive mode API, see the Full-Screen Exclusive Mode API Tutorial.

  Since:
    1.4
  See Also:
    `GraphicsDevice`, `GraphicsDevice.isDisplayChangeSupported()`, `GraphicsDevice.getDisplayModes()`, `GraphicsDevice.setDisplayMode(java.awt.DisplayMode)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BIT_DEPTH_MULTI` Value of the bit depth if multiple bit depths are supported in this display mode.
    `static int` | `REFRESH_RATE_UNKNOWN` Value of the refresh rate if not known.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DisplayMode(int width, int height, int bitDepth, int refreshRate)` Create a new display mode object with the supplied parameters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(DisplayMode dm)` Returns whether the two display modes are equal.
    `boolean` | `equals(Object dm)` Indicates whether some other object is "equal to" this one.
    `int` | `getBitDepth()` Returns the bit depth of the display, in bits per pixel.
    `int` | `getHeight()` Returns the height of the display, in pixels.
    `int` | `getRefreshRate()` Returns the refresh rate of the display, in hertz.
    `int` | `getWidth()` Returns the width of the display, in pixels.
    `int` | `hashCode()` Returns a hash code value for the object.

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

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

- - ### Field Detail

    - #### BIT_DEPTH_MULTI

          @Native
          public static final int BIT_DEPTH_MULTI

      Value of the bit depth if multiple bit depths are supported in this display mode.
      See Also:
        `getBitDepth()`, Constant Field Values

    - #### REFRESH_RATE_UNKNOWN

          @Native
          public static final int REFRESH_RATE_UNKNOWN

      Value of the refresh rate if not known.
      See Also:
        `getRefreshRate()`, Constant Field Values

  - ### Constructor Detail

    - #### DisplayMode

          public DisplayMode(int width,
                             int height,
                             int bitDepth,
                             int refreshRate)

      Create a new display mode object with the supplied parameters.
      Parameters:
        `width` - the width of the display, in pixels
        `height` - the height of the display, in pixels
        `bitDepth` - the bit depth of the display, in bits per pixel. This can be `BIT_DEPTH_MULTI` if multiple bit depths are available.
        `refreshRate` - the refresh rate of the display, in hertz. This can be `REFRESH_RATE_UNKNOWN` if the information is not available.
      See Also:
        `BIT_DEPTH_MULTI`, `REFRESH_RATE_UNKNOWN`

  - ### Method Detail

    - #### getHeight

          public int getHeight()

      Returns the height of the display, in pixels.
      Returns:
        the height of the display, in pixels

    - #### getWidth

          public int getWidth()

      Returns the width of the display, in pixels.
      Returns:
        the width of the display, in pixels

    - #### getBitDepth

          public int getBitDepth()

      Returns the bit depth of the display, in bits per pixel. This may be `BIT_DEPTH_MULTI` if multiple bit depths are supported in this display mode.
      Returns:
        the bit depth of the display, in bits per pixel.
      See Also:
        `BIT_DEPTH_MULTI`

    - #### getRefreshRate

          public int getRefreshRate()

      Returns the refresh rate of the display, in hertz. This may be `REFRESH_RATE_UNKNOWN` if the information is not available.
      Returns:
        the refresh rate of the display, in hertz.
      See Also:
        `REFRESH_RATE_UNKNOWN`

    - #### equals

          public boolean equals(DisplayMode dm)

      Returns whether the two display modes are equal.
      Returns:
        whether the two display modes are equal

    - #### equals

          public boolean equals(Object dm)

      Indicates whether some other object is "equal to" this one.

      The `equals` method implements an equivalence relation on non-null object references:

      - It is reflexive: for any non-null reference value `x`, `x.equals(x)` should return `true`.
      - It is symmetric: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
      - It is transitive: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
      - It is consistent: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
      - For any non-null reference value `x`, `x.equals(null)` should return `false`.

      The `equals` method for class `Object` implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values `x` and `y`, this method returns `true` if and only if `x` and `y` refer to the same object (`x == y` has the value `true`).

      Note that it is generally necessary to override the `hashCode` method whenever this method is overridden, so as to maintain the general contract for the `hashCode` method, which states that equal objects must have equal hash codes.

      Overrides:
        `equals` in class `Object`
      Parameters:
        `dm` - the reference object with which to compare.
      Returns:
        `true` if this object is the same as the obj argument; `false` otherwise.
      See Also:
        `Object.hashCode()`, `HashMap`

    - #### hashCode

          public int hashCode()

      Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `HashMap`.

      The general contract of `hashCode` is:

      - Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
      - If two objects are equal according to the `equals(Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
      - It is not required that if two objects are unequal according to the `Object.equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

      As much as is reasonably practical, the hashCode method defined by class `Object` does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object.
      See Also:
        `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

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.