当前位置: 首页 > 知识库问答 >
问题:

JavaFx显示糟糕的场景

宿文栋
2023-03-14

在我第一次使用JavaFX时,场景被错误地显示,我没有找到原因。例如,在E(fx)clipse页面的第一个基本教程中提出了以下代码

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 FX”,但显示以下内容:

我的Java版本是适用于Windows 64(Win 7)的8u65。

共有1个答案

莫骞仕
2023-03-14

这是一个环境问题

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

变通办法

要解决计算机上的渲染错误,请显式禁用JavaFX的硬件渲染管道,并仅使用软件渲染管道:

朝鲜主义。order=sw使用java-D属性。

你所经历的行为似乎有问题

这种行为看起来像一只虫子。我认为,在不支持显卡的情况下,JavaFX应该以不支持的错误退出,或者回到软件渲染管道,而不是显示乱码垃圾。您可能希望在http://bugreport.java.com.提交错误报告

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

  • 机器制造和型号

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

使用平台的条件功能的门使用。支持

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

if (Platform.isSupported(ConditionalFeature.EFFECT)) {
    // use effects
}

如果这解决了您的问题,那么底层JavaFX系统仍然存在问题,如文档所述:

在不支持条件特性的平台上使用条件特性不会导致异常。一般情况下,条件特征将被忽略。有关更多详细信息,请参阅每个功能的留档。

这在你的情况下是不会发生的。

 类似资料:
  • 我一直试图从控制器打开一个新窗口以显示进度条: 请帮忙。没有例外,也没有错误。谢谢 编辑:我已经找到了它不显示的原因,这是因为在后面的代码中我有一个函数:阻止程序刷新我的场景和显示元素。是否有一种方法可以在后台或另一个线程中运行这一行(我以前从未使用过线程)再次感谢你的帮助。

  • 我正在测试简单拓扑以检查Kafka喷口的性能。它包含kafka spout和Bolt来确认每个元组。Bolt执行方法: 拓扑结构如下所示: 其他拓扑设置: 我在10分钟内得到了1.5kk元组。螺栓的性能约为0,5。所以我的逻辑很简单:如果我双倍喷注和螺栓并行提示-我将得到双倍的性能。下一个测试是1个工人2个Kafka喷口,2个简单的夹子螺栓和Topology.Acker.Executors=2。以

  • 译者注:该小结关于错误处理的观点,译者并不完全赞同,关于本小结的部分想法请参考关于16.10.2小节错误处理的一些见解 依附于第13章模式的描述和第17.1小节与第17.2.4小节的总结。 16.10.1 不要使用布尔值: 像下面代码一样,创建一个布尔型变量用于测试错误条件是多余的: var good bool // 测试一个错误,`good`被赋为`true`或者`false`

  • 一进去,面试官迟到,等了近十分钟,面试官到了,开始面试 先狂问我的毕设,具体到其中的算法实现。由于算法不是自己写的,具体细节并不了解,就只能说不会,然后就被质疑是不是自己做的,在毕设中担任了什么工作,怎么具体细节都不清楚,我只能说是使用了别人做的算法包,具体实现细节不是特别清楚 之后开始正式的java坐牢环节 一上来直接问我用的jdk版本,我说了jdk8,然后居然问我为什么用jdk8。我直接一脸问

  • 问题内容: 我不是PHP开发人员,但我在很多地方都看到人们似乎把它当作瘟疫之类。为什么? 问题答案: 表示通过GET或POST传递的所有变量都可以作为脚本中的全局变量使用。由于访问未声明的变量不是PHP中的错误(这是警告),因此可能导致非常讨厌的情况。考虑一下,例如: 这本身不是一件坏事(精心设计的代码不应生成警告,因此不应访问可能未声明的变量(并且出于相同原因也不 需要 )),但是PHP代码通常

  • 我用jacoco做报道。当我看jacoco报告时,覆盖面似乎不错。但是在Sonarqube中,覆盖率很低,因为它说来自lombok的< code>@Data注释没有被测试覆盖。 编译的类被标记为但 Sonar 不会忽略它。 如何排除分析的?