Spec-Zone.ru › OpenJavaFX 21

Класс Platform

java.lang.Object
javafx.application.Platform
public final class Platform extends Object
Класс поддержки платформы приложения.
С момента:
JavaFX 2.0

Краткое описание свойств

Тип Свойство Описание
static ReadOnlyBooleanProperty accessibilityActive
Указывает, активна ли доступность.

Краткое описание методов

Модификатор и тип Метод Описание
static ReadOnlyBooleanProperty accessibilityActiveProperty()
Указывает, активна ли доступность.
static boolean canStartNestedEventLoop()
Указывает, можно ли запустить вложенный цикл событий из текущей нити в текущем состоянии.
static Object enterNestedEventLoop(Object key)
Входит во вложенный цикл событий и блокируется до вызова соответствующего exitNestedEventLoop.
static void exit()
Приводит к завершению приложения JavaFX.
static void exitNestedEventLoop(Object key, Object rval)
Выход из вложенного цикла событий и разблокировка вызывающего потока соответствующего enterNestedEventLoop.
static boolean isAccessibilityActive()
Получает значение свойства accessibilityActive.
static boolean isFxApplicationThread()
Возвращает true, если вызывающая нить является нитью приложения JavaFX.
static boolean isImplicitExit()
Получает значение атрибута implicitExit.
static Optional<Boolean> isKeyLocked(KeyCode keyCode)
Возвращает флаг, указывающий, находится ли ключ, соответствующий keyCode, в заблокированном (или "включенном") состоянии.
static boolean isNestedLoopRunning()
Проверяет, запущен ли вложенный цикл событий, возвращая true, если он запущен, и false, если вложенных циклов событий нет.
static boolean isSupported(ConditionalFeature feature)
Запрашивает, поддерживается ли конкретная условная функция платформой.
static void requestNextPulse()
Запрашивает Java Runtime выполнить пульс.
static void runLater(Runnable runnable)
Выполняет указанный Runnable в нити приложения JavaFX в какое-то неопределенное время в будущем.
static void setImplicitExit(boolean implicitExit)
Устанавливает атрибут implicitExit в указанное значение.
static void startup(Runnable runnable)
Этот метод запускает JavaFX runtime.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробности свойства

accessibilityActive

public static ReadOnlyBooleanProperty accessibilityActiveProperty
Указывает, включена ли поддержка доступности. Это свойство обычно устанавливается в значение true в первый раз, когда технология вспомогательных средств, например, программа чтения с экрана, запрашивает информацию о любом окне JavaFX или его дочерних элементах.

Этот метод может быть вызван из любого потока.

Since:
JavaFX 8u40
См. также:
  • isAccessibilityActive()
  • accessibilityActiveProperty()

Подробности метода

startup

public static void startup(Runnable runnable)
Этот метод запускает среду выполнения JavaFX. Затем указанный Runnable будет вызван в потоке приложения JavaFX. Как правило, явное обращение к этому методу не требуется, так как он вызывается в результате построения большинства приложений JavaFX. Однако существуют и обоснованные случаи прямого вызова этого метода. Поскольку этот метод запускает среду выполнения JavaFX, поток приложения JavaFX ещё не существует, поэтому нормально, что этот метод вызывается непосредственно в главном потоке приложения.

Этот метод может или не может вернуть управление вызывающему методу до того, как метод run указанного Runnable будет вызван. В любом случае, этот метод не блокируется ожиданием выполнения указанного Runnable. После возврата управления этим методом вы можете вызвать runLater(Runnable) с дополнительными Runnable. Эти Runnable будут также вызваны в потоке приложения JavaFX после вызова Runnable, переданного в этот метод.

Как уже отмечалось, поток приложения JavaFX обычно запускается автоматически. Важно, чтобы этот метод вызывался только тогда, когда среда выполнения JavaFX ещё не была инициализирована. Ситуации, когда среда выполнения JavaFX запускается автоматически, включают:

  • Для стандартных приложений JavaFX, которые расширяют Application, и используют либо загрузчик Java, либо один из методов запуска в классе Application для запуска приложения, среда выполнения FX инициализируется загрузчиком перед загрузкой класса Application.
  • Для приложений Swing, которые используют JFXPanel для отображения содержимого FX, среда выполнения FX инициализируется при создании первого экземпляра JFXPanel.
  • Для приложений SWT, которые используют FXCanvas для отображения содержимого FX, среда выполнения FX инициализируется при создании первого экземпляра FXCanvas.

Если приложение не использует ни один из этих стандартных подходов, разработчик должен вручную запустить среду выполнения JavaFX, вызвав этот метод startup.

Вызов этого метода, когда среда выполнения JavaFX уже запущена, приведёт к исключению IllegalStateException — запрос на запуск среды выполнения JavaFX допустим только один раз.

Примечание: Классы JavaFX должны загружаться из набора именованных javafx.* модулей в пути модуля. Загрузка классов JavaFX из пути класса не поддерживается. При запуске среды выполнения JavaFX, если классы JavaFX загружаются не из ожидаемых именованных модулей, выводится сообщение об ошибке. Это сообщение об ошибке выводится независимо от того, была ли среда выполнения JavaFX запущена вызовом этого метода или автоматически, как описано выше.

Параметры:
runnable - Runnable, метод run которого будет выполнен в потоке приложения JavaFX после его запуска
Исключения:
IllegalStateException - если среда выполнения JavaFX уже запущена
Since:
9
См. также:
  • Application

runLater

public static void runLater(Runnable runnable)
Выполните указанный Runnable в потоке приложения JavaFX в неопределённое время в будущем. Этот метод, который может быть вызван из любого потока, добавит Runnable в очередь событий и немедленно вернёт управление вызывающему методу. Runnable выполняются в порядке их добавления. Runnable, переданный методу runLater, будет выполнен до любого Runnable, переданного в последующий вызов runLater. Если этот метод вызывается после завершения среды выполнения JavaFX, вызов будет проигнорирован: Runnable не будет выполнен, и исключение не будет сгенерировано.

ЗАМЕЧАНИЕ: приложениям следует избегать переполнения JavaFX большим количеством ожидающих Runnable. В противном случае приложение может стать неотзывчивым. Приложениям рекомендуется объединять несколько операций в меньшее количество вызовов runLater. Кроме того, длительные операции следует выполнять в фоновом потоке, насколько это возможно, освобождая поток приложения JavaFX для операций с графическим интерфейсом.

Этот метод не должен вызываться до инициализации среды FX. Для стандартных приложений JavaFX, которые расширяют Application и используют либо загрузчик Java, либо один из методов запуска в классе Application для запуска приложения, среда выполнения FX инициализируется загрузчиком перед загрузкой класса Application. Для приложений Swing, использующих JFXPanel для отображения содержимого FX, среда выполнения FX инициализируется при создании первого экземпляра JFXPanel. Для приложений SWT, использующих FXCanvas для отображения содержимого FX, среда выполнения FX инициализируется при создании первого экземпляра FXCanvas. Для приложений, которые не используют ни один из этих подходов, необходимо вручную запустить среду выполнения JavaFX, вызвав startup(Runnable) один раз.

Эффекты согласованности памяти: Действия в потоке до отправки runnable в этот метод предшествуют действиям, выполняемым Runnable в потоке приложения JavaFX.

Параметры:
runnable - Runnable, метод run которого будет выполнен в потоке приложения JavaFX
Исключения:
IllegalStateException - если среда FX не была инициализирована
См. также:
  • Application

requestNextPulse

public static void requestNextPulse()
Запрашивает у среды выполнения Java выполнение пульсации. Это запустит пульсацию даже если нет таймеров анимации, модификаций графической сцены или событий окна, которые обычно вызывают выполнение пульсации. Если пульсация не выполняется, то она будет запланирована на выполнение в следующий раз, когда сработает таймер пульсации. Если пульсация уже выполняется, то будет запланирована как минимум одна дополнительная пульсация после текущей. Этот метод может быть вызван из любого потока.
Since:
9

isFxApplicationThread

public static boolean isFxApplicationThread()
Возвращает true, если вызывающий поток является потоком приложения JavaFX. Используйте этот вызов, чтобы убедиться, что данная задача выполняется (или не выполняется) в потоке приложения JavaFX.
Возвращает:
true, если выполняется в потоке приложения JavaFX

exit

public static void exit()
Принудительно завершает приложение JavaFX. Если этот метод вызывается после вызова метода start класса Application, то загрузчик JavaFX вызовет метод stop класса Application и завершит поток приложения JavaFX. Затем загрузчик потока завершит свою работу. Если не будет других работающих ни-демоновских потоков, Java VM завершит свою работу. Если этот метод вызывается из Preloader или метода init класса Application, то метод stop класса Application может не быть вызван.

Этот метод может быть вызван из любого потока.

setImplicitExit

public static void setImplicitExit(boolean implicitExit)
Устанавливает атрибут implicitExit в указанное значение. Если этот атрибут равен true, среда выполнения JavaFX неявным образом завершит свою работу при закрытии последнего окна; загрузчик JavaFX вызовет метод Application.stop() и завершит поток приложения JavaFX. Если этот атрибут равен 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. Его нельзя вызывать во время обработки анимации или макета.

Parameters:
key - объект, идентифицирующий вложенный цикл событий, который не должен быть null
Returns:
значение, переданное в соответствующий вызов exitEventLoop
Throws:
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 Application
Since:
9

isKeyLocked

public static Optional<Boolean> isKeyLocked(KeyCode keyCode)
Возвращает флаг, указывающий, находится ли ключ, соответствующий keyCode, в заблокированном (или "включенном") состоянии. keyCode должен быть одним из: KeyCode.CAPS или KeyCode.NUM_LOCK. Если базовая система не может определить состояние указанного keyCode, возвращается пустая Optional. Если клавиатура, подключенная к системе, не имеет указанного ключа, возвращается Optional, содержащая false. Этот метод должен вызываться в потоке JavaFX Application.
Parameters:
keyCode - KeyCode состояния блокировки для запроса
Returns:
состояние блокировки ключа, соответствующего keyCode, или пустая Optional, если система не может определить его состояние
Throws:
IllegalArgumentException - если keyCode не является одним из допустимых значений KeyCode
IllegalStateException - если этот метод вызывается в потоке, отличном от потока JavaFX Application
Since:
17

isNestedLoopRunning

public static boolean isNestedLoopRunning()
Проверяет, запущен ли вложенный цикл событий, возвращая true, если он запущен, и false, если вложенных циклов событий нет. Этот метод должен вызываться в потоке JavaFX Application.
Returns:
true, если запущен вложенный цикл событий, и false в противном случае.
Throws:
IllegalStateException - если этот метод вызывается в потоке, отличном от потока JavaFX Application.
Since:
9

canStartNestedEventLoop

public static boolean canStartNestedEventLoop()
Указывает, можно ли запустить вложенный цикл событий из текущего потока в текущем состоянии. Вложенный цикл событий можно запустить из обработчика событий или из объекта Runnable, переданного в runLater(Runnable). Этот метод должен вызываться в потоке JavaFX Application.
Returns:
true, если вложенный цикл событий можно запустить, и false в противном случае.
Throws:
IllegalStateException - если этот метод вызывается в потоке, отличном от потока JavaFX Application.
Since:
21

isAccessibilityActive

public static boolean isAccessibilityActive()
Получает значение свойства accessibilityActive.
Описание свойства:
Указывает, активен ли доступность. Это свойство обычно устанавливается в значение true в первый раз, когда технология вспомогательных средств, такая как программа чтения с экрана, запрашивает информацию об окне JavaFX или его дочерних элементах.

Этот метод может вызываться из любого потока.

Returns:
значение свойства accessibilityActive
Since:
JavaFX 8u40
See Also:
  • accessibilityActiveProperty()

accessibilityActiveProperty

public static ReadOnlyBooleanProperty accessibilityActiveProperty()
Указывает, активен ли доступ к программе. Это свойство обычно устанавливается в значение true в первый раз, когда технология вспомогательных средств, такая как программа чтения с экрана, запрашивает информацию об окне JavaFX или его дочерних элементах.

Этот метод может вызываться из любого потока.

Returns:
только для чтения, свойство boolean, указывающее, активен ли доступ
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API