快照图像不能用作舞台图标

2024-04-16

我正在尝试将舞台快照中的图像设置为舞台图标。

下面的代码演示了它:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.image.WritableImage;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

import java.io.IOException;

public class IconTest extends Application {

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

  @Override
  public void start(Stage primaryStage) throws Exception {
    Scene scene = new Scene(new StackPane(new ImageView(generateIcon(32))));
    primaryStage.setScene(scene);
    primaryStage.getIcons().setAll(generateIcon(32));
    primaryStage.show();
  }

  private static Image generateIcon(int dimension) throws IOException {
    Pane root = new Pane();
    root.setBackground(new Background(new BackgroundFill(Color.RED, null, null)));
    Scene scene = new Scene(root, dimension, dimension);

    return scene.snapshot(new WritableImage(dimension, dimension));
  }
}

Result:

如您所见,舞台图标不是红色方块。这是为什么?从文件加载始终有效,使用 AWT 生成图像也有效。

解决方法:

BufferedImage bimg = new BufferedImage(dimension, dimension, BufferedImage.TYPE_INT_ARGB);
SwingFXUtils.fromFXImage(scene.snapshot(new WritableImage(dimension, dimension)), bimg);
SwingFXUtils.toFXImage(bimg, new WritableImage(dimension, dimension));

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快照图像不能用作舞台图标 的相关文章

  • 作为 JavaFX 应用程序启动屏幕的图像不会自动隐藏

    我有一个简单的 png 图像文件 我希望在加载 JavaFX 应用程序时显示该文件 我使用 NetBeans 作为 IDE 并且我知道可以像这样添加启动屏幕 项目属性 gt 运行 gt VM 选项 splash path to image
  • ScrollPane删除节点时跳转到顶部

    我有一个ScrollPane含有一个TilePane显示图像 每当我删除其中一张图像时ScrollPane跳回到顶部 这在尝试删除多个图像时非常烦人 有没有办法控制滚动行为 我在 Windows 7 上运行此代码 import javafx
  • Gridpane 中的 JavaFx 图像会大幅降低性能

    我想创建一个 GridPane 嵌套在 ScrollPane 中 在其中动态添加单元格到 GridPane 每个单元格都包含一个带有背景图像的 VBox 一些标签和一个复选框 问题是 GridPane 可以包含数百个 VBox 在我的例子中
  • JavaFX:无法设置绑定值异常

    在我的 javafx 应用程序中 我创建了一个表视图 其中有一些项目 如果项目存在于表视图中 则应启用删除按钮 否则应禁用删除按钮 现在的问题是 当我选择项目并单击删除按钮时 它会引发以下异常 我该如何解决这个问题 这是我的表格视图代码 t
  • 如何仅通过鼠标使用 javafx 在表格视图中选择多个单元格?

    我有一个在 javafx 中带有表格视图的应用程序 我想仅通过鼠标选择多个单元格 类似于 Excel 中存在的选择 我尝试过 但我不能做某事 这个问题的正确答案在这里https community oracle com thread 262
  • 如何将JavaFX嵌入到eclipse rcp视图中

    我正在尝试从简单的 Eclipse 视图中使用 JavaFX 2 但我得到了一个 java lang UnsatisfiedLinkError 类的 URL 无效 bundleresource 435 fwk1827795025 com s
  • 有没有办法在坐标平面上动态绘制点之间的线?

    我正在完成一个项目 在该项目中我实现了一个暴力算法来解决凸包问题 我还需要为该算法创建视觉效果 我试图在 x 轴和 y 轴上创建一个范围从 100 100 的坐标平面 绘制完整集中的所有点 并在点之间动态绘制线条以创建凸包 例如 假设我有
  • JavaFX 8 DatePicker 风格

    如何更改JavaFX 8中DatePicker中日历的样式 我查看了 modena 文件中的所有默认样式 但没有找到 DatePicker 的类 有人知道该怎么做吗 例如 将标题颜色更改为蓝色 默认样式如下 您可以找到以下的 cssDate
  • JAVA FXCollections LoadException 类不是有效类型

    我正在尝试在此帮助下实现带有一些数据的 TableViewTutorial https docs oracle com javafx 2 fxml get started fxml tutorial intermediate htm CIA
  • JavaFX ProgressBar:如何添加动画?

    我创建了一个进度条并更改了进度条颜色 是否可以像 bootstrap 动画进度条一样向进度条添加动画 这是示例 链接在这里 http getbootstrap com components progress animated 实际上 我找到
  • 尝试使 Tableview 可点击时发生 JavaFX 错误

    我正在尝试使表格视图可单击 它将返回单击的单元格中的文本 尝试在 Netbeans 中编译时收到两个错误 所有代码均取自 示例12 11 单元格编辑的替代解决方案 官方表格视图教程 http docs oracle com javafx 2
  • 有没有办法设置独立 TableView 列的样式?

    我可以使用 CSS 来设置单元格样式 但如果我只想为一列使用不同的样式 例如使用不同的文本颜色 怎么办 也许我错过了一些东西 你应该使用TableColumn setCellFactory http docs oracle com java
  • JavaFX 中 ImageView 的顺序转换

    我已经看过了如何在 javafx 2 1 中等待转换结束 https stackoverflow com questions 11188018 how to wait for a transition to end in javafx 2
  • 如何使用 Java 11 和 JavaFX 11 运行 ControlsFX 示例应用程序

    ControlFX 网站 http fxexperience com controlsfx says 如果您想使用 ControlsFX 示例应用程序 只需 下载 ControlsFX 版本并在上运行以下命令 命令提示符 请务必将 替换为实
  • 在 CSS 中设置 TableView 样式 (JavaFX)

    如何在 TableView 中设置 THIS 点的样式 我的 CSS 代码如下所示 Empty Stylesheet file root fx background color 262626 table view fx background
  • JavaFX 3D 面孔着色...再次

    我研究了这个question https stackoverflow com questions 26831871 coloring individual triangles in a triangle mesh on javafx 但我还
  • 在 JavaFX 中搜索 TableView 列表

    如何在 TableWie 中查找记录 例如通过 ID 并选择创建的行并将其放在 Java 8 JavaFX 中的屏幕中间 您可以使用以下方式搜索元素 int searchId table getItems stream filter ite
  • 确定 JavaFX 中是否消耗了事件

    我正在尝试使用 JavaFX 中的事件处理来做一些非滑雪道的事情 我需要能够确定手动触发事件后是否已消耗该事件 在以下示例中 正确接收了合成鼠标事件 但调用 Consumer 不会更新该事件 我对此进行了调试 发现 JavaFX 实际上创建
  • JavaFX MediaPlayer - 音乐在 10 秒后停止

    这是代码 就像标题所说的 音乐在10秒后停止 我在vlc或其他程序中正常播放该文件 持续了5分钟多 public void music String bip src data fjordmusic mp3 Media hit new Med
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t

随机推荐

  • 无法从上下文将请求字符编码设置为 UTF-8 [重复]

    这个问题在这里已经有答案了 我正在尝试将 Primefaces 中的示例实现到 WAB 包中
  • React Checkbox 不发送 onChange

    TLDR 使用defaultChecked而不是checked 工作jsbin http jsbin com mecimayawe 1 edit js output 尝试设置一个简单的复选框 在选中时会划掉其标签文本 由于某种原因 当我使用
  • Go (golang),Windows 上的文件 uid

    是否可以在 Windows 上获取文件的 UID 所有者 我尝试使用FileInfo Sys 但它只适用于Linux 我真的很困惑这个问题 不知道如何获取 UID 第一个问题是 Windows 本机支持文件 目录所有权的文件系统没有 所有者
  • 在jqGrid的Edit Url中传递参数进行表单编辑

    我在用jgGrid表单编辑 我在其中更新编辑的值 当我点击提交时editurl被叫 在这种情况下 在我的场景中 我必须将两个参数传递给控制器 jqGrid代码 var colname var colHeader var gridData v
  • 有没有一种简单的方法可以从本地 gradle 缓存中删除一个依赖项?

    本地 gradle 缓存存储 maven gradle 依赖项的副本 如何清除gradle缓存 https stackoverflow com q 23025433 4107809涵盖如何清除整个缓存 但不清除单个包 有没有一种简单的方法可
  • 尝试在 Firefox 中安装我的附加组件的 .xpi 文件时,附加组件“似乎已损坏”

    我正在尝试在 Firefox 45 中安装扩展 Firefox 49 也会发生同样的情况 但 Firefox 不允许我这样做 这表明 This add on could not be installed because it appears
  • 为什么 bootstrap.properties 被 spring-cloud-starter-config 忽略?

    我的目标是获取配置world service from a config service 架构 config service有依赖性spring cloud config server at localhost 8888 world ser
  • 强制 R 函数调用自给自足

    我正在寻找一种方法来调用不受其他对象影响的函数 GlobalEnv 看一下下面两个函数 y 3 f1 function x x y f2 function x library dplyr x gt mutate area Sepal Len
  • 引导程序更改 $grid-gutter-width

    我正在使用 Bootstraps 网格系统 我需要一个2px每列之间的空间 我尝试过 Column Gap 但没有任何效果 有人可以帮忙吗 代码 HTML div class container div class row div clas
  • 泛型方法调用重载方法的问题

    我遇到了有趣的事情 在 Java 和 C 中工作相同 Java代码 public class TestStuff public static void main String args Printer p new PrinterImpl p
  • 创建可折叠代码块 Eclipse

    为了使我的代码在 Eclipse 上干净整洁 我想知道用 Any 标签包围的代码是否可以作为函数收回 我使用 eclipse Juno 进行 Android 开发 是的 您可以使用该插件 咖啡字节代码折叠 http market eclip
  • 我的 Redis 自动生成的密钥

    我不知道我的 Redis 版本 4 0 9 到底发生了什么 我正在运行一个应用程序并使用 Redis 来存储我的数据库 但是 然后 Redis 自动创建 3 个新键 Backup1 Backup2 Backup3 并删除我的所有数据 这是我
  • 来自 php 的 jQuery Ajax 响应变量

    我有一个简单的问题 但无法找到我需要的确切解决方案 如何使用 jQuery ajax 调用仅回显两个 PHP 变量的 PHP 文件 并将它们保存到响应中的 javascript 变量中 你会做类似的事情 getJSON ajax respo
  • Amazon S3 上传错误 PermanentRedirectException

    我已经使用 Composer 安装了适用于 PHP 的 Amazon SDK 我复制了示例代码并在我的系统中实现 但是当我尝试上传文件时 我得到以下信息 为了安全起见 我已将路径设为通用 致命错误 未捕获异常 Aws S3 Exceptio
  • 重用黄瓜数据表

    如何跨多个场景或功能文件重用 Cucumber 测试数据 我想绕过表数据代码重复 我当前的功能文件 Scenario At begining unable to click on first When On Sidebar page I c
  • 网格单位向量中的元素替换

    我已经对此感到困惑好几次了 所以这里为其他可能偶然发现同样问题的人提出了一个虚构的问题 考虑这个网格单位向量 a unit 1 3 c cm in npc 我想用新值替换一些元素 自然的方法是 a 1 unit 2 pt a 1 2cm 2
  • 如何使用 javax.mail.internet.MimeBodyPart.setFileName 保留所有字符?

    我需要使用创建邮件javax mail版本 1 6 2 希望尽可能坚持高级方法 并希望避免自己处理字符编码 折叠以及最终获得有效邮件所需的任何内容 我目前正在处理的一个问题是文件名 因为默认情况下javax mail internet Mi
  • 如何在 Tridion 中获取当前登录用户的用户 ID?

    我在 Tridion 中实现了一个功能区工具栏按钮 作为其中的一部分 我需要循环访问一些组件 这需要有效的会话 要在 Tridion 中创建会话 我需要一个用户 ID 如何获取当前用户的User Id windows User Id 下面的
  • PHP 在函数中包含/需要

    是否可以在 PHP 函数内的包含文件中包含 return 语句 我希望这样做 因为我在单独的文件中有很多函数 并且它们在顶部都有大量共享代码 As in function sync include once file php echo Te
  • 快照图像不能用作舞台图标

    我正在尝试将舞台快照中的图像设置为舞台图标 下面的代码演示了它 import javafx application Application import javafx scene Scene import javafx scene imag