Module javafx.graphics
Package javafx.application

# Enum Class ConditionalFeature

java.lang.Object
java.lang.Enum<ConditionalFeature>
javafx.application.ConditionalFeature

All Implemented Interfaces:
  `Serializable`, `Comparable<ConditionalFeature>`, `Constable`

public enum ConditionalFeature extends Enum<ConditionalFeature>
Defines a set of conditional (optional) features. These features may not be available on all platforms. An application that wants to know whether a particular feature is available may query this using the `Platform.isSupported()` function. Using a conditional feature on a platform that does not support it will not cause an exception. In general, the conditional feature will just be ignored. See the documentation for each feature for more detail.

Since:
  JavaFX 2.0

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`CONTROLS`
Indicates that JavaFX classes providing UI controls are available on this platform.
`EFFECT`
Indicates that filter effects are available on the platform.
`FXML`
Indicates that XML libraries are present in the JRE and that the FXML API is available on the platform.
`GRAPHICS`
Indicates that JavaFX classes providing graphics capabilities are available on this platform.
`INPUT_METHOD`
Indicates that text input method is available on the platform.
`INPUT_MULTITOUCH`
Indicates whether or not a touch screen providing multi-touch input is attached to the device on which JavaFX in running.
`INPUT_POINTER`
Indicates whether or not a relative motion pointer device such as a mouse, trackpad or trackball is attached.
`INPUT_TOUCH`
Indicates whether or not a touch screen is attached to the device on which JavaFX in running.
`MEDIA`
Indicates that the javafx.scene.media package is available on this platform.
`SCENE3D`
Indicates that 3D is available on the platform.
`SHAPE_CLIP`
Indicates that clipping against an arbitrary shape is available on the platform.
`SWING`
Indicates that the Swing library is present in the Java Runtime Environment and that Swing integration with JavaFX is available on the platform.
`SWT`
Indicates that SWT integration is available on the platform.
`TRANSPARENT_WINDOW`
Indicates that the system supports full window transparency.
`TWO_LEVEL_FOCUS`
Indicates whether or not controls should use two-level focus.
`UNIFIED_WINDOW`
Indicates that a system supports `StageStyle.UNIFIED`
`VIRTUAL_KEYBOARD`
Indicates whether an on-screen virtual keyboard is used for text input.
`WEB`
Indicates that the javafx.scene.web packages is available on this platform.

## Method Summary

Modifier and Type
Method
Description
`static ConditionalFeature`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static ConditionalFeature[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### GRAPHICS

public static final ConditionalFeature GRAPHICS
Indicates that JavaFX classes providing graphics capabilities are available on this platform.

Since:
  JavaFX 8.0

### CONTROLS

public static final ConditionalFeature CONTROLS
Indicates that JavaFX classes providing UI controls are available on this platform.

Since:
  JavaFX 8.0

### MEDIA

public static final ConditionalFeature MEDIA
Indicates that the javafx.scene.media package is available on this platform.

Since:
  JavaFX 8.0

### WEB

public static final ConditionalFeature WEB
Indicates that the javafx.scene.web packages is available on this platform.

Since:
  JavaFX 8.0

### SWT

public static final ConditionalFeature SWT
Indicates that SWT integration is available on the platform. This tests for SWT integration with JavaFX, but does not test for the presence of the full SWT library.

Since:
  JavaFX 8.0

### SWING

public static final ConditionalFeature SWING
Indicates that the Swing library is present in the Java Runtime Environment and that Swing integration with JavaFX is available on the platform.

Since:
  JavaFX 8.0

### FXML

public static final ConditionalFeature FXML
Indicates that XML libraries are present in the JRE and that the FXML API is available on the platform. Note that it is possible for FXML APIs to be present but unusable if the underlying Java Runtime Environment does not have XML support. In this case Platform.isSupported(ConditionalFeature.FXML) wll return false.

Since:
  JavaFX 8.0

### SCENE3D

public static final ConditionalFeature SCENE3D
Indicates that 3D is available on the platform. If an application attempts to use 3D transforms or a 3D camera on a platform that does not support 3D, then the transform or camera is ignored; it effectively becomes the identity transform.

### EFFECT

public static final ConditionalFeature EFFECT
Indicates that filter effects are available on the platform. If an application uses an effect on a platform that does not support it, the effect will be ignored.

### SHAPE_CLIP

public static final ConditionalFeature SHAPE_CLIP
Indicates that clipping against an arbitrary shape is available on the platform. If an application specifies a clip node on a platform that does not support clipping against an arbitrary shape, the node will be clipped to the bounds of the specified clip node rather than its geometric shape.

### INPUT_METHOD

public static final ConditionalFeature INPUT_METHOD
Indicates that text input method is available on the platform. If an application specifies an input method on a platform that does not support it, the input method will be ignored.

### TRANSPARENT_WINDOW

public static final ConditionalFeature TRANSPARENT_WINDOW
Indicates that the system supports full window transparency. Transparent windows will have only limited or no functionality on a platform that doesn't support it.

Currently, this support is available on all desktop platforms except Linux systems without the XComposite extension. The XShape extension is used in that case, so the window edges are aliased.

If a security manager is present, the application must have the `FXPermission` "createTransparentWindow" in order to create a transparent window. If the application doesn't have the required permission, it won't be able to use this feature; it will appear as if the the platform doesn't support transparent windows, and `Platform.isSupported(TRANSPARENT_WINDOW)` will return `false`.

Since:
  JavaFX 2.2

### UNIFIED_WINDOW

public static final ConditionalFeature UNIFIED_WINDOW
Indicates that a system supports `StageStyle.UNIFIED`

NOTE: Currently, supported on:

- Windows Vista+: a window is completely filled with the frozen glass effect
- Mac OS X: a window has the brushed-metal textured background

Since:
  JavaFX 8.0

### TWO_LEVEL_FOCUS

public static final ConditionalFeature TWO_LEVEL_FOCUS
Indicates whether or not controls should use two-level focus. Two-level focus is when separate operations are needed in some controls to first enter a control and then to perform operations on the control. Two-level focus is needed on devices that provide directional arrow keys and a select key but do not provide keys for navigating between one control and another. On these devices a focused control may be either internally focused - in which case arrow keys operate on the control - or externally focused, in which case arrow keys are used to navigate focus to other controls.

On embedded platforms JavaFX makes an attempt to initialize this ConditionalFeature based on what input peripherals are attached. On desktop platforms this ConditionalFeature will typically default to false.

Since:
  JavaFX 8.0

### VIRTUAL_KEYBOARD

public static final ConditionalFeature VIRTUAL_KEYBOARD
Indicates whether an on-screen virtual keyboard is used for text input.

On embedded platforms JavaFX makes an attempt to initialize this ConditionalFeature based on what input peripherals are attached. On desktop platforms this ConditionalFeature will typically default to false.

Since:
  JavaFX 8.0

### INPUT_TOUCH

public static final ConditionalFeature INPUT_TOUCH
Indicates whether or not a touch screen is attached to the device on which JavaFX in running.

On embedded platforms JavaFX makes an attempt to initialize this ConditionalFeature based on what input peripherals are attached. On desktop platforms this ConditionalFeature will typically default to false.

Since:
  JavaFX 8.0

### INPUT_MULTITOUCH

public static final ConditionalFeature INPUT_MULTITOUCH
Indicates whether or not a touch screen providing multi-touch input is attached to the device on which JavaFX in running.

On embedded platforms JavaFX makes an attempt to initialize this ConditionalFeature based on what input peripherals are attached. On desktop platforms this ConditionalFeature will typically default to false.

If INPUT_MULTITOUCH is available then INPUT_TOUCH is also available.

Since:
  JavaFX 8.0

### INPUT_POINTER

public static final ConditionalFeature INPUT_POINTER
Indicates whether or not a relative motion pointer device such as a mouse, trackpad or trackball is attached.

On embedded platforms JavaFX makes an attempt to initialize this ConditionalFeature based on what input peripherals are attached. On desktop platforms this ConditionalFeature will typically default to true.

Since:
  JavaFX 8.0

## Method Details

### values

public static ConditionalFeature[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static ConditionalFeature valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null