javafx拉伸图像以填充按钮?

2024-01-24

我正在用 Java/JavaFX 编写一个“星际迷航”游戏。我的想法是主游戏屏幕是一个 10x10 的按钮网格面板。所有游戏部件(企业、克林贡、行星等)都将在按钮中显示为图标。这样,您可以单击一个空间对象来选择它、扭曲到它、射击它等等:

当然,这一切都取决于能够将我的小星舰图像分配给适当的按钮。我已经弄清楚如何将背景应用到按钮,但是当我应用图像时,契合度不佳。这是迄今为止我的游戏的屏幕截图:

“企业”形象有点合适……但实际上并不合适。必须有办法拉伸船以适应按钮exactly,但我还没有找到它。我还必须找到一种在 Java(不是 CSS 或 FXML)中执行此操作的方法,因为 Java 代码必须移动图标。

这是我的代码:

public void setUpBoard(){

  // set up 10x10 GridPane of Buttons...

  Image testImage = new Image(getClass().getResourceAsStream("Enterprise.png"));
  ImageView testImageView = new ImageView(testImage);
  testImageView.setFitWidth(55);            // My button is 55 x 37 pixels, according to the FXML
  testImageView.setFitHeight(37);
  //testImageView.fitWidthProperty().bind(gridButton37.widthProperty());   // This didn't work either
  //testImageView.fitHeightProperty().bind(gridButton37.widthProperty());
  gridButton37.setGraphic(testImageView);
}

我已经谷歌搜索了几个小时,但我找不到似乎适用于此的“将图像拉伸到父级”解决方案。我有什么遗漏的吗?


    btnTest.setMinSize(55, 37);
    btnTest.setMaxSize(55, 37);

    Image image = new Image("/view/images/someImage.png", btnTest.getWidth(), btnTest.getHeight(), false, true, true);
    BackgroundImage bImage = new BackgroundImage(image, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, new BackgroundSize(btnTest.getWidth(), btnTest.getHeight(), true, true, true, false));

    Background backGround = new Background(bImage);
    btnTest.setBackground(backGround);

See https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Background.html https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Background.html

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

javafx拉伸图像以填充按钮? 的相关文章

  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 绘制圆和连接这些圆的曲线

    我需要绘制一些圆圈和连接这些圆圈的曲线 圆圈必须以行和列的方式绘制 所以我想使用 GridPane 将是一个不错的选择 但是 绘制完所有圆圈后 如何添加曲线来连接属于此 GridPane 上不同列的圆圈 我无法将 GridPane add
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • JavaFX ImageView 未更新

    因此 我尝试将图像加载并保存到 imageView 中 其中图像的位置是通过文件浏览器选择的 我已经为此工作好几天了 如果我不能解决这个问题 我就会中风 我已经尝试了我能想到的一切 预先感谢您的帮助 UPDATED 这是我的主要课程 pub
  • C# 按钮文本 Unicode 字符

    C 不想在按钮上放置 Unicode 字符 如果我将 u2129 放入按钮的 文本 属性中 按钮将显示 u2129 而不是 Unicode 字符 例如 我选择 2129 因为我可以在计算机上当前活动的字体中看到它 我之前看到过这个问题链接文
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • Java 旋转图像

    Override public void paintComponent Graphics g super paintComponent g Graphics2D g2 Graphics2D g create rotation of play
  • 将 SVG 文件转换为多个不同大小的 PNG 文件

    我有一个 SVG 格式的徽标图像 我想知道是否有办法生成多个不同大小的 png 文件 例如 我设置了 20 个不同的宽度和高度 它会生成 20 个 PNG 文件 如果我必须一次处理 5 张图像也没关系 我已经安装了 illustrator
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • 如何将 .ashx 处理程序与 asp:Image 对象一起使用?

    我有一个 ashx 处理程序 using System using System Web public class Thumbnail IHttpHandler public void ProcessRequest HttpContext
  • PHP 裁剪图像以固定宽度和高度而不丢失尺寸比例

    我希望创建尺寸为 100 像素 x 100 像素的缩略图 我看过很多解释这些方法的文章 但如果要保持尺寸比 大多数文章最终都会有宽度 高度 例如 我有一个 450 像素 x 350 像素的图像 我想裁剪为 100px x 100px 如果我
  • 如何单击网络浏览器控件中的按钮?

    例如 使用代码并且没有用户输入 我如何让我的程序点击 google 上的 搜索 按钮 假设我已经填写了搜索框并且位于 google com webBrowser1 Navigate http www google com 如果你有一个ID用
  • 您有什么方法可以从相机胶卷转到新的视图控制器吗?

    我正在尝试从相机胶卷转到新的视图控制器 所以基本上我希望能够选择一张图片 并且在选择图片后 它将显示在新视图控制器上的 imageView 上 那个很难做吗 void imagePickerController UIImagePickerC
  • 将 JavaFX 按钮放置在特定位置

    我的问题是如何将 javafx 按钮放置在特定位置 我一直尝试执行这个简单的代码 结果是按钮仅位于屏幕中心 而不是我想要的位置 我正在使用 StackPane Code Button button new Button button set
  • 如何设置菜单按钮和菜单项的样式

    我尝试更改菜单按钮中的样式 我可以更改菜单按钮样式 但不能更改其菜单项 无论我尝试什么 菜单按钮内的菜单项都保持不变 menu button fx background color black menu button label fx ba
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 在c#中创建文件夹的快捷方式

    长话短说 我需要使用 C 创建文件夹的快捷方式 我一直在阅读使用IWshRuntimeLibrary 当我尝试使用任何东西时IWshRuntimeLibrary我遇到了各种歧义错误System IO File 我假设这是因为有一个IWshR
  • 给定一个数字系列,找到校验位算法......?

    假设我有一系列索引号 其中包含检查数字 http en wikipedia org wiki Check digit 如果我有足够公平的样本 例如 250 个样本索引号 我是否有办法提取用于生成校验位的算法 我认为至少应该有一种编程方法来找
  • 塔式认证?

    有没有一种真正的方法可以在 Pylons 中添加身份验证 我见过很多不同的方法 但其中大多数要么过时 要么太复杂 是否有教程解释如何以良好而可靠的方式添加身份验证 Pylon的官方立场似乎是 我们不做身份验证 你可以插入任何你想要的身份验证
  • 平台不允许 Flutter Insecure http

    Flutter 团队最近进行了此更改 现在不允许不安全的 http 连接 https flutter dev docs release writing changes network policy ios android https flu
  • 使用“std”的标准约定

    精确重复 您更喜欢 C 中的显式命名空间还是 using https stackoverflow com questions 214927 do you prefer explicit namespaces or using in c 对于
  • PHP file_get_contents 在本地主机上不起作用

    我正在从 localhost http 172 16 65 1 上的 OSX 上的 MAMP 服务器上处理我的网站 我想从 Google 加载一些 JSON 一些简单的测试表明我在这里遇到了问题 echo file get contents
  • 使用 JAVA 8 Streams 从地图中仅创建 1 个列表,其中地图值是列表

    我有一个地图 其中 值 是项目列表 Map
  • 如何在MVVMCross WPF应用程序中实现关闭按钮?

    我在用MVVM交叉 in my WPF申请 我想提供一个Close or ExitGUI 中的 按钮可关闭整个应用程序 有没有一种简单的方法可以使用MVVM交叉功能 我用我的方法尝试了以下方法MainViewModel public cla
  • 在 Rust 中散列读者的正确方法?

    我试图使用双重哈希 https crates io crates twox hash为文件生成哈希 因为它似乎是最快的哈希实现 并且安全性不是此实现的问题 为了让它与读者一起工作 我实现了一个包装结构 它实现了Write特质并直接调用XxH
  • 在类中存在的标头内使用“导航”和“路线” - React-navigation v5

    我被困住了 因为我想切换到 React navigation 的 V5 版本 在 v4 中 我曾经传递参数并将它们与以下命令一起使用 Set this props navigation navigate MyDestination myPa
  • 在引导程序中禁用@media print?

    是否可以完全禁用任何预配置 media printcss样式来自bootstrap无需重新编译 默认应用的打印样式可以在这里看到 https github com twbs bootstrap blob master dist css bo
  • 工具提示控件如何通过新属性增强表单上的所有控件?

    在回答另一个问题时 我开始想知道如何向表单中的所有控件添加新属性 就像工具提示控件那样 例如 我可以使用它将 IsDirty 标志添加到所有文本框 只需将组件添加到表单中 它就会为每个文本框处理这个问题 将工具提示控件添加到表单时 所有控件
  • 浏览器关闭时如何唤醒服务人员

    我正在玩服务人员的东西 我已经做了它以及清单 json 我想在以下场景后触发服务工作人员启动 添加了推送集成并从服务器端发送推送通知 在客户端收到它 但前提是我在我的申请页面中 以下是我想要尝试启动 Service Worker 的步骤 我
  • 如何使用 qmake 处理两个同名的源文件?

    我的 Qt 项目有两个同名但位于不同文件夹中的源文件 专业文件是 SOURCES A Test cpp SOURCES B Test cpp 它可以通过 Qt Visual Studio 插件生成 Visual Studio 解决方案文件
  • github api 比较提交,响应状态存在分歧

    在配置jenkins时 我想检测feature分支是否存在合并冲突 所以我使用github api v3在2上进行测试故意的冲突的分支 将branch1合并到master后 我比较了branch2 b2 如下所示 curl i https
  • WS-Security php 中 PasswordDigest 的工作算法

    我一直根据航空公司供应商提供的公式创建哈希密码 我在这个网站上搜索过 我从下面的链接中得到了 C 的解决方案 但我想要 PHP 的解决方案 WS Security 中 PasswordDigest 的工作算法 https stackover
  • 了解 Objective-C 中强指针和弱指针的实际应用

    我刚刚阅读了已接受的优秀答案this https stackoverflow com questions 9262535 explanation of strong and weak storage in ios5这个问题澄清了 Objec
  • JavaScript 输入数字

    如何使用 window prompt 从用户处获取 2 个数字并将它们相加而不连接 我的想法是 var temp window prompt Number1 var temp2 window prompt Number2 var answe
  • 初始化列表和运算符的 RHS

    我不明白为什么初始化列表不能在运算符的 RHS 上使用 考虑 class foo struct bar template
  • javafx拉伸图像以填充按钮?

    我正在用 Java JavaFX 编写一个 星际迷航 游戏 我的想法是主游戏屏幕是一个 10x10 的按钮网格面板 所有游戏部件 企业 克林贡 行星等 都将在按钮中显示为图标 这样 您可以单击一个空间对象来选择它 扭曲到它 射击它等等 当然