Platform类
大约 2 分钟
Platform
package javafx.application;
public final class Platform {}
// 内部接口,包含当前平台的用户界面首选项。
public static interface Platform.Preferences extends ObservableMap<String,Object> {}应用平台支持类。为Application提供操作系统相关的功能。
Platform 常用 API
// 指示辅助功能是否已经激活
static ReadOnlyBooleanProperty accessibilityActiveProperty();
// 表示是否可以在当前状态下从当前线程启动嵌套事件循环
static boolean canStartNestedEventLoop();
// 终止应用程序(显示关闭,正常执行 stop)
static void exit();
// Gets the preferences of the current platform.
static Platform.Preferences getPreferences();
// 检查当前线程是否为应用程序线程
static boolean isFxApplicationThread();
// implicitExit 属性指示是否由操作系统响应应用程序退出。
// 如果需要手动响应最终的退出,则需要设置为 false,再进行显示关闭。
static boolean isImplicitExit();
static void setImplicitExit(boolean implicitExit);
// 启动 JavaFX 运行时,指定的 Runnable 将在 JavaFX 应用程序线程上被调用。
static void startup(Runnable runnable);JavaFX 运行时
static void startup(Runnable runnable);一般来说,没有必要显式调用此方法。因为该方法启动了 JavaFX 运行时,还没有任何 JavaFX 应用程序线程,所以直接在应用程序的主线程上调用该方法是正常的。
只有在 JavaFX 运行时尚未初始化时才调用该方法,当 JavaFX 运行时已在运行时调用本方法,将导致抛出 IllegalStateException 。
自动启动 JavaFX 运行时的情况包括:
- 对于扩展了
Application的标准 JavaFX 应用程序,JavaFX 运行时将在加载Application类之前由启动器自动初始化。 - 对于使用
JFXPanel的 Swing 应用程序,JavaFX 运行时会在构建第一个JFXPanel实例时初始化。 - 对于使用
FXCanvas的 SWT 应用程序,JavaFX 运行时会在构建第一个FXCanvas实例时初始化。
如果应用程序没有遵循上述任何一种常见方法,那么开发人员就有责任通过调用此启动方法来手动启动 JavaFX 运行时。
!JavaFX 类必须从模块路径上一组命名为 javafx.* 的模块中加载。不支持从 classpath 加载 JavaFX 类。如果未从预期的命名模块加载 JavaFX 类,则在启动 JavaFX 运行时会记录警告。
见:Application类 . 将应用程序作为模块部署
