javafx - 将图形设置为标签

标签 javafx javafx-2 javafx-8

我想将标签设置为图形。我测试了这段代码:

    private static final ImageView livePerformIcon;

        static
        {
            livePerformIcon = new ImageView(MainApp.class.getResource("/images/Flex.jpg").toExternalForm());
        }

final Label label = new Label();
            label.setStyle("-fx-background-image: url(\"/images/Flex.jpg\");");

            livePerformIcon.setFitHeight(20);
            livePerformIcon.setFitWidth(20);
            label.setGraphic(livePerformIcon);

但我没有看到任何图像。

我发现使它起作用的唯一方法是:
label.setStyle("-fx-background-image: url(\"/images/Flex.jpg\");");

有没有办法解决这个问题?

最佳答案

不确定,但 AFAIK 控件应该在 JavaFX 应用程序线程上创建,但是您正在静态初始化程序中创建 ImageView,我不确定它是否在应用程序线程上执行。

此外:你真的希望 livePerformIcon 是静态的???

关于javafx - 将图形设置为标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22606257/

相关文章:

javafx 运行时失败

使用无限循环时 javaFX UI 崩溃

java - 我还缺少一些更多的 opendolphin 示例吗?

java - 如果Java的http代理关闭,它会恢复为非代理

java - 子字符串和 Vector.add 的问题

java - JavaFx 中的半透明模糊背景

JavaFx:如何更新 GridPane 内动态创建的 TextField 的文本?

java - getResource() 方法在加载字体文件时返回 null,但为什么呢?

JavaFX8 : How to create listener for selection of row in Tableview?

JavaFX 事件调度线程与 JavaFX 应用程序线程?