Spec-Zone .ru
спецификации, руководства, описания, API
|
001/* 002 * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 004 * 005 * This code is free software; you can redistribute it and/or modify it 006 * under the terms of the GNU General Public License version 2 only, as 007 * published by the Free Software Foundation. Oracle designates this 008 * particular file as subject to the "Classpath" exception as provided 009 * by Oracle in the LICENSE file that accompanied this code. 010 * 011 * This code is distributed in the hope that it will be useful, but WITHOUT 012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 014 * version 2 for more details (a copy is included in the LICENSE file that 015 * accompanied this code). 016 * 017 * You should have received a copy of the GNU General Public License version 018 * 2 along with this work; if not, write to the Free Software Foundation, 019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 020 * 021 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 022 * or visit www.oracle.com if you need additional information or have any 023 * questions. 024 */ 025 026package javafx.application; 027 028/** 029 * Defines a set of conditional (optional) features. These features 030 * may not be available on all platforms. An application that wants to 031 * know whether a particular feature is available may query this using 032 * the {@link javafx.application.Platform#isSupported(javafx.application.ConditionalFeature) 033 * Platform.isSupported()} function. Using a conditional feature 034 * on a platform that does not support it will not cause an exception. In 035 * general, the conditional feature will just be ignored. See the documentation 036 * for each feature for more detail. 037 */ 038public enum ConditionalFeature { 039 040 /** 041 * Indicates that JavaFX classes providing graphics capabilities are 042 * available on this platform. 043 */ 044 GRAPHICS, 045 046 /** 047 * Indicates that JavaFX classes providing UI controls are available on 048 * this platform. 049 */ 050 CONTROLS, 051 052 /** 053 * Indicates that the javafx.scene.media package is available on this 054 * platform. 055 */ 056 MEDIA, 057 058 /** 059 * Indicates that the javafx.scene.web packages is available on this 060 * platform. 061 */ 062 WEB, 063 064 /** 065 * Indicates that SWT integration is available on the platform. This tests 066 * for SWT integration with JavaFX, but does not test for the presence of 067 * the full SWT library. 068 */ 069 SWT, 070 071 /* Indicates that the Swing library is present in the Java Runtime 072 * Environment and that Swing integration with JavaFX is available on the 073 * platform. 074 */ 075 SWING, 076 077 078 /* Indicates that XML libraries are present in the JRE and that the FXML 079 * API is available on the platform. Note that it is possible for FXML APIs 080 * to be present but unusable if the underlying Java Runtime Environment 081 * does not have XML support. In this case 082 * Platform.isSupported(ConditionalFeature.FXML) wll return false. 083 */ 084 FXML, 085 086 /** 087 * Indicates that 3D is available on the platform. 088 * If an application attempts to use 3D transforms or a 3D camera on a 089 * platform that does not support 3D, then the transform or camera is 090 * ignored; it effectively becomes the identity transform. 091 */ 092 SCENE3D, 093 094 /** 095 * Indicates that filter effects are available on the platform. 096 * If an application uses an effect on a platform that does 097 * not support it, the effect will be ignored. 098 */ 099 EFFECT, 100 101 /** 102 * Indicates that clipping against an arbitrary shape is available 103 * on the platform. If an application specifies a clip node on a 104 * platform that does not support clipping against an arbitrary shape, 105 * the node will be clipped to the bounds of the specified clip node 106 * rather than its geometric shape. 107 */ 108 SHAPE_CLIP, 109 110 /** 111 * Indicates that text input method is available on the platform. 112 * If an application specifies an input method on a platform that does 113 * not support it, the input method will be ignored. 114 */ 115 INPUT_METHOD, 116 117 /** 118 * Indicates that the system supports full window transparency. 119 * Transparent windows will have only limited or no functionality on a platform that 120 * doesn't support it. 121 * <p> 122 * NOTE: Currently, this support is available on all platforms 123 * except Linux systems without the XComposite extension. The 124 * XShape extension is used in that case, so the window edges are aliased. 125 */ 126 TRANSPARENT_WINDOW, 127 128 /** 129 * Indicates that a system supports {@link javafx.stage.StageStyle#UNIFIED} 130 * <p> 131 * NOTE: Currently, supported on: 132 * <ul> 133 * <li>Windows Vista+: a window is completely filled with the frozen glass effect</li> 134 * <li>Mac OS X: a window has the brushed-metal textured background</li> 135 * </ul> 136 */ 137 UNIFIED_WINDOW, 138 139 /** 140 * Indicates whether or not controls should use two-level focus. Two-level 141 * focus is when separate operations are needed in some controls to first 142 * enter a control and then to perform operations on the control. Two-level 143 * focus is needed on devices that provide directional arrow keys and a 144 * select key but do not provide keys for navigating between one control 145 * and another. On these devices a focused control may be either internally 146 * focused - in which case arrow keys operate on the control - or 147 * externally focused, in which case arrow keys are used to navigate focus 148 * to other controls. 149 * <p> 150 * On embedded platforms JavaFX makes an attempt to initialize this 151 * ConditionalFeature based on what input peripherals are attached. On 152 * desktop platforms this ConditionalFeature will typically default to 153 * false. 154 */ 155 TWO_LEVEL_FOCUS, 156 157 /** 158 * Indicates whether an on-screen virtual keyboard is used for text input. 159 * <p> 160 * On embedded platforms JavaFX makes an attempt to initialize this 161 * ConditionalFeature based on what input peripherals are attached. On 162 * desktop platforms this ConditionalFeature will typically default to 163 * false. 164 */ 165 VIRTUAL_KEYBOARD, 166 167 /** 168 * Indicates whether or not a touch screen is attached to the device on 169 * which JavaFX in running. 170 * <p> 171 * On embedded platforms JavaFX makes an attempt to initialize this 172 * ConditionalFeature based on what input peripherals are attached. On 173 * desktop platforms this ConditionalFeature will typically default to 174 * false. 175 */ 176 INPUT_TOUCH, 177 178 /** 179 * Indicates whether or not a touch screen providing multi-touch input is 180 * attached to the device on which JavaFX in running. 181 * <p> 182 * On embedded platforms JavaFX makes an attempt to initialize this 183 * ConditionalFeature based on what input peripherals are attached. On 184 * desktop platforms this ConditionalFeature will typically default to 185 * false. 186 * <p> 187 * If INPUT_MULTITOUCH is available then INPUT_TOUCH is also available. 188 */ 189 INPUT_MULTITOUCH, 190 191 /** 192 * Indicates whether or not a relative motion pointer device such as a 193 * mouse, trackpad or trackball is attached. 194 * <p> 195 * On embedded platforms JavaFX makes an attempt to initialize this 196 * ConditionalFeature based on what input peripherals are attached. On 197 * desktop platforms this ConditionalFeature will typically default to 198 * true. 199 */ 200 INPUT_POINTER 201 202}