Spec-Zone.ru › OpenJavaFX 24

Класс Platform

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

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static interface  Platform.Preferences
Содержит настройки текущей платформы.

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

Тип Свойство Описание
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 Platform.Preferences getPreferences()
Получает настройки текущей платформы.
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 Application Thread в неопределенное время в будущем.
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 или его дочерних элементах.

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

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

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

startup

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

Этот метод может или не может вернуть управление вызывающей стороне до того, как метод run указанного Runnable будет вызван. В любом случае, этот метод не блокируется ожиданием выполнения указанного 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 допустим только один раз.

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

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

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 в этот метод happen-before действия, выполняемые Runnable в потоке JavaFX Application.

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

requestNextPulse

public static void requestNextPulse()
Запрашивает у среды выполнения Java выполнение пульса. Это запустит пульс, даже если нет таймеров анимации, изменений графа сцен или событий окна, которые в противном случае привели бы к запуску пульса. Если пульс не выполняется, он будет запланирован на выполнение в следующий раз, когда сработает таймер пульса. Если пульс уже выполняется, будет запланирован как минимум еще один пульс после текущего пульса. Этот метод может вызываться из любого потока.
С:
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. Затем загрузчик потока завершит свою работу. Если больше нет других потоков, которые не являются демонами, JVM выйдет. Если этот метод вызывается из Preloader или метода Application init, то метод Application stop может не вызываться.

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

setImplicitExit

public static void setImplicitExit(boolean implicitExit)
Устанавливает значение атрибута implicitExit. Если этот атрибут равен true, среда выполнения JavaFX неявно завершит работу, когда будет закрыто последнее окно; загрузчик JavaFX вызовет метод Application.stop() и завершит поток приложения JavaFX. Если этот атрибут равен false, приложение будет продолжать работать нормально даже после закрытия последнего окна, пока приложение не вызовет exit(). Значение по умолчанию равно true.

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

Параметры:
implicitExit - флаг, указывающий, следует ли неявно завершить работу при закрытии последнего окна.
С:
JavaFX 2.2

isImplicitExit

public static boolean isImplicitExit()
Получает значение атрибута implicitExit.

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

Возвращает:
значение атрибута implicitExit
С:
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.
С:
9

exitNestedEventLoop

public static void exitNestedEventLoop(Object key, Object rval)
Выход из вложенного цикла событий и разблокировка вызывающего метода соответствующего enterNestedEventLoop. Ключ, переданный в этот метод, используется для уникальной идентификации сопоставленной пары вход/выход. Этот метод заставляет вложенный цикл событий, ранее созданный с ключом, выйти и вернуть управление вызывающему методу. Если указанный вложенный цикл событий не является внутренним, он не вернётся, пока все другие внутренние циклы не завершат работу.
Параметры:
key - Объект, идентифицирующий вложенный цикл событий, который не должен быть null
rval - Объект, который возвращается вызывающему методу соответствующего enterNestedEventLoop. Может быть null.
Исключения:
IllegalArgumentException - если указанный ключ не связан с активным вложенным циклом событий
NullPointerException - если ключ равен null
IllegalStateException - если этот метод вызван на потоке, отличном от потока FX Application
С:
9

isKeyLocked

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

isNestedLoopRunning

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

canStartNestedEventLoop

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

isAccessibilityActive

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

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

Возвращает:
значение свойства accessibilityActive
С:
JavaFX 8u40
См. также:
  • accessibilityActiveProperty()

accessibilityActiveProperty

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

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

Возвращает:
только для чтения свойство boolean, указывающее, активна ли функция доступности
С:
JavaFX 8u40
См. также:
  • isAccessibilityActive()

getPreferences

public static Platform.Preferences getPreferences()
Получает настройки текущей платформы.

Карта, возвращаемая этим методом, является неизменяемой, что означает, что ключи и значения нельзя добавлять, удалять или обновлять. Вызов любого метода-мутатора в карте всегда вызовет исключение UnsupportedOperationException. Однако сопоставления будут обновляться JavaFX, когда операционная система сообщит о том, что настройка платформы изменилась.

Возвращает:
экземпляр Preferences
С:
22
См. также:
  • Настройки Windows
  • Настройки macOS
  • Настройки Linux

Отправить сообщение об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его филиалы. Все права защищены.

© 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