gpt4 book ai didi

imageview - 如何将 imageView 添加到 javafx 区域元素?

转载 作者:行者123 更新时间:2023-12-04 17:38:18 27 4
gpt4 key购买 nike

我想知道如何将 ImageView 元素添加到 JavaFx 2.1 中的区域元素。

也许我把这个元素的用法弄错了,但 AFAIK 它也是子元素的容器。

背景是我需要一个定义大小的区域,该区域应显示独立于该区域视口(viewport)的图像元素,因此我不能将 Group 元素用作容器。

最佳答案

使用 Pane或 Pane 子类。

Pane 是 Region您可以使用 getChildren() 向其中添加子项api。 Pane 与 Group 非常相似;例如有一个简单的 api 用于添加 child ,并且没有明确布局 child 的位置。它还具有区域的方面;例如css 可样式化、可调整大小等。Region 仅通过其公共(public) API 具有不可修改的子级列表,这意味着向它们添加子级的唯一方法是对它们进行子类化(正如 Pane 已经为您所做的那样)。 Region 类本身实际上只是控件创建者的构建 block 类,而不是您在正常开发期间会实例化的东西。

这是添加 ImageView 的示例节点到 Pane 。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.*;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class RegionSample extends Application {
public static void main(String[] args) throws Exception { launch(args); }
public void start(Stage stage) throws Exception {
Pane pane = new Pane();
pane.setStyle("-fx-background-color: linear-gradient(to bottom right, derive(goldenrod, 20%), derive(goldenrod, -40%));");
ImageView iv1 = new ImageView(new Image("http://icons.iconarchive.com/icons/kidaubis-design/cool-heroes/128/Ironman-icon.png")); // Creative commons with attribution license for icons: No commercial usage without authorization. All rights reserved. Design (c) 2008 - Kidaubis Design http://kidaubis.deviantart.com/ http://www.kidcomic.net/ All Rights of depicted characters belong to their respective owners.
ImageView iv2 = new ImageView(new Image("http://icons.iconarchive.com/icons/kidaubis-design/cool-heroes/128/Starwars-Stormtrooper-icon.png"));
iv1.relocate(10, 10);
iv2.relocate(80, 60);
pane.getChildren().addAll(iv1, iv2);
stage.setScene(new Scene(pane));
stage.show();
}
}

关于imageview - 如何将 imageView 添加到 javafx 区域元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com