- java.lang.Object
-
- javafx.application.Platform
-
public final class Platform extends Object
Класс поддержки платформы приложений.- С момента:
- JavaFX 2.0
-
Краткое описание свойств
Свойства Тип Свойство Описание static ReadOnlyBooleanPropertyaccessibilityActiveУказывает, включена ли доступность.
-
Краткое описание методов
Все методыСтатические методыКонкретные методы Модификатор и тип Метод Описание static ReadOnlyBooleanPropertyaccessibilityActiveProperty()Указывает, включена ли доступность.static ObjectenterNestedEventLoop(Object key)Входит во вложенный цикл обработки событий и блокируется, пока не будет сделан соответствующий вызов exitNestedEventLoop.static voidexit()Заставляет приложение JavaFX завершиться.static voidexitNestedEventLoop(Object key, Object rval)Выходит из вложенного цикла обработки событий и разблокирует вызвавшего метод enterNestedEventLoop.static booleanisAccessibilityActive()Получает значение свойства accessibilityActive.static booleanisFxApplicationThread()Возвращает true, если вызывающая нить является нитью JavaFX Application Thread.static booleanisImplicitExit()Получает значение атрибута implicitExit.static booleanisNestedLoopRunning()Проверяет, запущен ли вложенный цикл обработки событий, возвращая true, если он запущен, и false, если вложенных циклов нет.static booleanisSupported(ConditionalFeature feature)Опрашивает платформу о поддержке определённого условного функционала.static voidrequestNextPulse()Запрашивает Java Runtime выполнить импульс.static voidrunLater(Runnable runnable)Выполняет указанный Runnable в потоке JavaFX Application Thread в некотором неопределённом будущем.static voidsetImplicitExit(boolean implicitExit)Устанавливает атрибут implicitExit в заданное значение.static voidstartup(Runnable runnable)Этот метод запускает JavaFX runtime.
-
Свойство
-
accessibilityActive
public static ReadOnlyBooleanProperty accessibilityActiveProperty
Указывает, активна ли функция доступности. Это свойство обычно устанавливается в значение true в первый раз, когда технология辅助, такая как программа чтения с экрана, запрашивает информацию о любом окне JavaFX или его дочерних элементах.Этот метод может быть вызван с любого потока.
- Since:
- JavaFX 8u40
- См. также:
isAccessibilityActive()
-
-
Методы
-
startup
public static void startup(Runnable runnable)
Этот метод запускает среду выполнения JavaFX. Затем указанный Runnable будет вызван в потоке JavaFX Application. В общем случае явное вызов этого метода не требуется, так как он вызывается в результате того, как обычно создаются приложения JavaFX. Тем не менее, есть и обоснованные случаи для прямого вызова этого метода. Поскольку этот метод запускает среду выполнения JavaFX, поток JavaFX Application ещё не существует, поэтому нормально, что этот метод вызывается напрямую в главном потоке приложения.Возврат этого метода может или не может произойти до вызова метода run указанного объекта Runnable. В любом случае, после возврата этого метода, вы можете вызвать
runLater(Runnable)с дополнительными объектами Runnable. Эти объекты Runnable будут вызваны, также в потоке JavaFX Application, после вызова объекта Runnable, переданного в этот метод.Как отмечено, поток JavaFX Application обычно запускается автоматически. Важно, чтобы этот метод вызывался только в том случае, если среда выполнения JavaFX ещё не была инициализирована. Ситуации, когда среда выполнения JavaFX запускается автоматически, включают:
- Для стандартных приложений JavaFX, которые расширяют
Applicationи используют либо загрузчик Java, либо один из методов запуска в классе Application для запуска приложения, среда выполнения FX инициализируется загрузчиком до загрузки классаApplication. - Для приложений Swing, которые используют
JFXPanelдля отображения содержимого FX, среда выполнения FX инициализируется при создании первого объектаJFXPanel. - Для приложений SWT, которые используют
FXCanvasдля отображения содержимого FX, среда выполнения FX инициализируется при создании первого объектаFXCanvas.
Когда приложение не использует ни один из этих распространённых подходов, разработчик должен вручную запустить среду выполнения JavaFX, вызвав этот метод startup.
Вызов этого метода, когда среда выполнения JavaFX уже запущена, приведёт к возбуждению исключения
IllegalStateException— запрос на запуск среды выполнения JavaFX допустим только один раз.- Параметры:
-
runnable- объект Runnable, метод run которого будет выполнен в потоке JavaFX Application после его запуска - Исключения:
-
IllegalStateException- если среда выполнения JavaFX уже запущена - Since:
- 9
- См. также:
Application
- Для стандартных приложений JavaFX, которые расширяют
-
runLater
public static void runLater(Runnable runnable)
Выполнит указанный объект Runnable в потоке JavaFX Application в неопределённое время в будущем. Этот метод, который может быть вызван с любого потока, добавит объект Runnable в очередь событий и немедленно вернётся к вызывающему методу. Объекты Runnable выполняются в порядке их добавления. Объект Runnable, переданный в метод runLater, будет выполнен до любого объекта Runnable, переданного в последующий вызов runLater. Если этот метод вызывается после завершения среды выполнения JavaFX, вызов будет проигнорирован: объект Runnable не будет выполнен, и исключение не будет возбуждено.ПРИМЕЧАНИЕ: приложения должны избегать перегрузки JavaFX слишком большим количеством ожидающих объектов Runnable. В противном случае приложение может стать неотзывчивым. Приложениям рекомендуется объединять несколько операций в меньшее количество вызовов runLater. Кроме того, длительные операции, где возможно, должны выполняться в фоновом потоке, освобождая поток JavaFX Application для операций с графическим интерфейсом.
Этот метод не должен вызываться до инициализации среды выполнения FX. Для стандартных приложений JavaFX, которые расширяют
Applicationи используют либо загрузчик Java, либо один из методов запуска в классе Application для запуска приложения, среда выполнения FX инициализируется загрузчиком до загрузки класса Application. Для приложений Swing, которые используют JFXPanel для отображения содержимого FX, среда выполнения FX инициализируется при создании первого объекта JFXPanel. Для приложений SWT, которые используют FXCanvas для отображения содержимого FX, среда выполнения FX инициализируется при создании первого объекта FXCanvas. Для приложений, которые не используют ни один из этих подходов, необходимо вручную запустить среду выполнения JavaFX, вызвавstartup(Runnable)один раз.- Параметры:
-
runnable- объект Runnable, метод run которого будет выполнен в потоке JavaFX Application - Исключения:
-
IllegalStateException- если среда выполнения FX не была инициализирована - См. также:
Application
-
requestNextPulse
public static void requestNextPulse()
Запрашивает среду выполнения Java Runtime выполнить импульс. Это запустит импульс, даже если нет таймеров анимации, изменений в дереве сцены или событий окна, которые в противном случае вызвали бы выполнение импульса. Если импульс не выполняется, он будет запланирован на выполнение в следующий раз, когда сработает таймер импульса. Если импульс уже выполняется, то по крайней мере ещё один импульс после текущего импульса будет запланирован. Этот метод может быть вызван с любого потока.- Since:
- 9
-
isFxApplicationThread
public static boolean isFxApplicationThread()
Возвращает true, если вызывающий поток является потоком JavaFX Application. Используйте этот вызов, чтобы убедиться, что заданная задача выполняется (или не выполняется) в потоке JavaFX Application.- Возвращает:
- true, если выполняется в потоке JavaFX Application
-
exit
public static void exit()
Принудительно завершает работу приложения JavaFX. Если этот метод вызывается после вызова метода Application start, то загрузчик JavaFX вызовет метод Application stop и завершит поток JavaFX application. Поток загрузчика затем завершит свою работу. Если не существует других ни-демон-потоков, выполняющихся, виртуальная машина Java выйдет. Если этот метод вызывается из Preloader или метода Application init, то метод Application stop может не быть вызван.Этот метод может быть вызван с любого потока.
-
setImplicitExit
public static void setImplicitExit(boolean implicitExit)
Устанавливает атрибут implicitExit в указанное значение. Если этот атрибут имеет значение true, среда выполнения JavaFX неявным образом завершит свою работу, когда будет закрыто последнее окно; загрузчик JavaFX вызовет методApplication.stop()и завершит поток JavaFX application. Если этот атрибут имеет значение false, приложение будет продолжать работать нормально даже после закрытия последнего окна, до тех пор, пока приложение не вызоветexit(). Значение по умолчанию — true.Этот метод может быть вызван с любого потока.
- Параметры:
-
implicitExit- флаг, указывающий, следует ли неявным образом завершить работу при закрытии последнего окна. - Since:
- JavaFX 2.2
-
isImplicitExit
public static boolean isImplicitExit()
Получает значение атрибута implicitExit.Этот метод может быть вызван с любого потока.
- Возвращает:
- атрибут implicitExit
- Since:
- JavaFX 2.2
-
isSupported
public static boolean isSupported(ConditionalFeature feature)
Опрашивает, поддерживается ли платформа определённой условной функцией.Например:
// Query whether filter effects are supported if (Platform.isSupported(ConditionalFeature.EFFECT)) { // use effects }- Параметры:
-
feature- условная функция, о которой идёт речь. - Возвращает:
- true, если определённая условная функция поддерживается платформой, иначе false
-
enterNestedEventLoop
public static Object enterNestedEventLoop(Object key)
Входит во вложенный цикл событий и блокируется до соответствующего вызова exitNestedEventLoop. Переданный ключ используется для уникальной идентификации пары вход/выход. Этот метод создаёт новый вложенный цикл событий и блокируется до вызова соответствующего метода exitNestedEventLoop с тем же ключом. Возвращаемое значение этого метода будет объектомrval, предоставленным в вызове метода exitNestedEventLoop, который разблокирует его.Этот метод должен вызываться либо из обработчика событий ввода, либо из метода run объекта Runnable, переданного в
Platform.runLater. Он не должен вызываться во время анимации или обработки макета.- Параметры:
-
key- объект, идентифицирующий вложенный цикл событий, который не должен быть null - Возвращает:
- значение, переданное в соответствующий вызов exitEventLoop
- Исключения:
-
IllegalArgumentException- если указанный ключ связан с вложенным циклом событий, который ещё не вернулся -
NullPointerException- если ключ равен null -
IllegalStateException- если этот метод вызывается во время анимации или обработки макета. -
IllegalStateException- если этот метод вызывается в потоке, отличном от потока JavaFX Application. - Since:
- 9
-
-
exitNestedEventLoop
public static void exitNestedEventLoop(Object key, Object rval)
Выход из вложенного цикла событий и разблокировка вызывающего метода соответствующего enterNestedEventLoop. Ключ, переданный в этот метод, используется для уникальной идентификации пар "вход/выход". Этот метод приводит к выходу вложенного цикла событий, который был ранее создан с ключом, и возвращает управление вызывающему методу. Если указанный вложенный цикл событий не является внутренним циклом, то он не вернётся, пока все другие внутренние циклы также не завершатся.- Parameters:
-
key- Объект, идентифицирующий вложенный цикл событий, который не должен быть null -
rval- Объект, возвращаемый вызывающему методу соответствующего enterNestedEventLoop. Может быть null. - Throws:
-
IllegalArgumentException- если указанный ключ не связан с активным вложенным циклом событий -
NullPointerException- если ключ равен null -
IllegalStateException- если этот метод вызывается в потоке, отличном от потока FX-приложения - Since:
- 9
-
isNestedLoopRunning
public static boolean isNestedLoopRunning()
Проверяет, запущен ли вложенный цикл событий, возвращая true, если он запущен, и false, если вложенных циклов событий нет. Этот метод должен вызываться в потоке JavaFX Application.- Returns:
- true, если запущен вложенный цикл событий, и false в противном случае.
- Throws:
-
IllegalStateException- если этот метод вызывается в потоке, отличном от потока JavaFX Application. - Since:
- 9
-
isAccessibilityActive
public static boolean isAccessibilityActive()
Получает значение свойства accessibilityActive.- Property description:
- Указывает, активен ли доступ. Это свойство обычно устанавливается в значение true в первый раз, когда технология вспомогательных средств, например, программа чтения с экрана, запрашивает информацию о любом окне JavaFX или его дочерних элементах.
Этот метод может вызываться из любого потока.
- Since:
- JavaFX 8u40
-
accessibilityActiveProperty
public static ReadOnlyBooleanProperty accessibilityActiveProperty()
Указывает, активен ли доступ. Это свойство обычно устанавливается в значение true в первый раз, когда технология вспомогательных средств, например, программа чтения с экрана, запрашивает информацию о любом окне JavaFX или его дочерних элементах.Этот метод может вызываться из любого потока.
- Since:
- JavaFX 8u40
- See Also:
isAccessibilityActive()
-
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.