节点的 JavaFX 快照

标签 java javafx

我不知道如何制作节点组的快照。也就是说,我想制作一个覆盖有数字的 PNG 图标图像(例如未读消息)。

我的代码:

int totalNumberOfUnreadMessages = 1;

ImageView applicationIconImageView = new ImageView(getApplication().getStage().getIcons().get(1));

Text text = new Text();            
            text.setX(10);
            text.setY(10);
            text.setFill(Color.RED);
            text.setText(Integer.toString(totalNumberOfUnreadMessages));
            text.setFont(Font.font(null, FontWeight.BOLD, 10));            

            Group group = new Group();
            group.getChildren().addAll(applicationIconImageView, text);            

            MainFrameWindow.runOnUIThread(() -> {
                getApplication().getStage().getIcons().clear();
                WritableImage applicationIconWritableImage = group.snapshot(new SnapshotParameters(), null);                
                getApplication().getStage().getIcons().add(0, applicationIconWritableImage);
            }, false);

非常感谢任何帮助。 提前谢谢大家。

最佳答案

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

关于节点的 JavaFX 快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665535/

相关文章:

java - 有没有办法在 JavaFX Webview 中指定用户代理样式表?

java - 获取相同密码的不同哈希值(+盐)

JavaFX:为什么我必须按几次按钮才能背景改变?

java - 构建一个对象

java - 如何将信息添加到 sqlite 数据库,然后使用 javafx 显示信息?

Netbeans 上的 JavaFX

java - 调整 AnchorPane 中标签的大小

java - BST层级顺序遍历

java - 我可以用 Arrays.asList 创建一个数组列表吗?

java - Elasticsearch 查询中的 OR 和 AND 运算符