首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFx显示不好的场景

JavaFx显示不好的场景
EN

Stack Overflow用户
提问于 2015-10-23 22:40:37
回答 1查看 133关注 0票数 0

在我第一次接触JavaFX时,场景被错误地显示出来,我找不到原因。例如,下面的代码是在第一个基本教程从E(Fx)剪贴画的网页中提出的

代码语言:javascript
复制
package Aplicacion;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Prueba extends Application {

    @Override
    public void start(Stage primaryStage) {
        BorderPane p = new BorderPane();
        Text t = new Text("Hello FX");
        t.setFont(Font.font("Arial", 60));
        t.setEffect(new DropShadow(2,3,3, Color.RED));
        p.setCenter(t);
        primaryStage.setScene(new Scene(p));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

它应该显示文本"Hello “,但显示如下:

我的Java版本是8u65 for Windows 64 (Win 7)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-23 23:42:07

这是一个环境问题

JavaFX可能与您的显卡和驱动程序不兼容。

解决方案

若要解决计算机上的呈现错误,显式禁用JavaFX的硬件呈现管道,并且只使用软件呈现管道

-Dprism.order=sw使用属性

你所经历的行为似乎很糟糕,

这种行为看上去像个窃听器。我认为,对于不受支持的显卡,JavaFX应该以不受支持的错误退出,或者返回到软件渲染管道,而不是显示乱七八糟的垃圾。您可能希望在http://bugreport.java.com上提交错误报告。

如果您提交了错误报告,请确保包含用于测试的机器的所有信息:

  • 机器制造和模型。
  • 使用显卡或集成图形处理器。
  • 到底安装了哪个版本的视频驱动程序。
  • 操作系统和Java版本使用。

您可能还想尝试更新您的视频卡驱动程序,并查看这是否解决了问题。

使用实现条件特性的Platform.isSupported门使用

效果是条件特性,请确保在尝试使用效果之前检查是否为系统启用了条件特征。使用Platform.isSupported

代码语言:javascript
复制
if (Platform.isSupported(ConditionalFeature.EFFECT)) {
    // use effects
}

如果这解决了您的问题,那么它仍然是基础JavaFX系统的一个问题,因为文档声明:

在不支持它的平台上使用条件特性不会导致异常。通常情况下,条件特性将被忽略。有关更多细节,请参见每个特性的文档。

在你的情况下并没有发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33312428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档