All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javafx.application.ConditionalFeature Maven / Gradle / Ivy

There is a newer version: 24-ea+15
Show newest version
/*
 * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javafx.application;

/**
 * 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 {@link javafx.application.Platform#isSupported(javafx.application.ConditionalFeature)
 * 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
 */
public enum ConditionalFeature {

    /**
     * Indicates that JavaFX classes providing graphics capabilities are
     * available on this platform.
     * @since JavaFX 8.0
     */
    GRAPHICS,

    /**
     * Indicates that JavaFX classes providing UI controls are available on
     * this platform.
     * @since JavaFX 8.0
     */
    CONTROLS,

    /**
     * Indicates that the javafx.scene.media package is available on this
     * platform.
     * @since JavaFX 8.0
     */
    MEDIA,

    /**
     * Indicates that the javafx.scene.web packages is available on this
     * platform.
     * @since JavaFX 8.0
     */
    WEB,

    /**
     * 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
     */
    SWT,

    /**
     * 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
     */
    SWING,


    /**
     * 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
     */
    FXML,

    /**
     * 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.
     */
    SCENE3D,

    /**
     * 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.
     */
    EFFECT,

    /**
     * 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.
     */
    SHAPE_CLIP,

    /**
     * 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.
     */
    INPUT_METHOD,

    /**
     * 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 {@link javafx.util.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 * {@code Platform.isSupported(TRANSPARENT_WINDOW)} will return {@code false}. *

* * @since JavaFX 2.2 */ TRANSPARENT_WINDOW, /** * Indicates that a system supports {@link javafx.stage.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 */ UNIFIED_WINDOW, /** * 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 */ TWO_LEVEL_FOCUS, /** * 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 */ VIRTUAL_KEYBOARD, /** * 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_TOUCH, /** * 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_MULTITOUCH, /** * 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 */ INPUT_POINTER }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy