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

Methods
`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

    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

    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()`, `Hashtable`

#### hashCode

    public int hashCode()

Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by `java.util.Hashtable`.

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

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 JavaTM programming language.)

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

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.