小编thi*_*ult的帖子

警报对话框中的JavaFX默认焦点按钮

从jdk 8u40开始,我正在使用新的javafx.scene.control.AlertAPI来显示确认对话框.在下面的示例中,默认情况下"是"按钮而不是"否"按钮:

public boolean showConfirmDialog(String title, String header, String content, AlertType alertType) {
    final Alert alert = new Alert(alertType);
    alert.setTitle(title);
    alert.setHeaderText(header);
    alert.setContentText(content);

    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.YES, ButtonType.NO);

    final Optional<ButtonType> result = alert.showAndWait();
    return result.get() == ButtonType.YES;
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何改变它.

编辑:

这里是默认情况下聚焦"是"按钮的结果屏幕截图:

在此输入图像描述

java javafx javafx-8

13
推荐指数
3
解决办法
9740
查看次数

OSGi Felix应用程序中未解析的JavaFX包

我开发了一个基于JavaFX和OSGi Felix容器的丰富应用程序.当我的JavaFX是开始,一个org.osgi.framework.BundleException被抛出,表明framwork无法电线我的JavaFX包:

ERROR: Bundle app-impl-bundle [3] Error starting eclipse-project:T:\workspace\fast-osgi\app-impl-bundle\ (org.osgi.framework.BundleException: Unresolved constraint in bundle app-impl-bundle [3]: Unable to resolve 3.0: missing requirement [3.0] osgi.wiring.package; (&(osgi.wiring.package=javafx.stage)(version>=2.2.0)))
Run Code Online (Sandbox Code Playgroud)

这是我的MANIFEST.MF文件:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: app-impl-bundle
Bundle-SymbolicName: app-impl-bundle
Bundle-Version: 1.0.0.qualifier
Require-Bundle: app-bundle;bundle-version="0.0.1"
Bundle-Activator: com.mycompany.app.impl.Activator
Import-Package: javafx.stage;version="2.2.0",
 javax.xml.parsers,
 org.osgi.framework;version="1.8.0",
 org.w3c.dom,
 org.xml.sax
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ClassPath: .,
 target/lib/log4j-1.2.17.jar
Run Code Online (Sandbox Code Playgroud)

这里用于启动OSGi框架的VM Arguments(我使用此插件在Eclipse Luna下运行我的项目):

-Dosgi.requiredJavaVersion=1.8 -Dorg.osgi.framework.bundle.parent=ext
Run Code Online (Sandbox Code Playgroud)

最后一个参数无效.尽管如此,这篇文章告诉它它可以在Equinox上运行......

我找到了一个将此选项添加到VM参数的解决方案:

-Dorg.osgi.framework.system.packages.extra=javafx.stage
Run Code Online (Sandbox Code Playgroud)

但这不是很灵活.


您认为Felix OSGi的实现是否存在问题?它应该只与Equinox一起使用吗?有人可以帮帮我吗?这是正确的方法吗?

eclipse osgi javafx maven apache-felix

4
推荐指数
1
解决办法
1199
查看次数

标签 统计

javafx ×2

apache-felix ×1

eclipse ×1

java ×1

javafx-8 ×1

maven ×1

osgi ×1