JavaFX HBox 对齐

2024-03-31

我一直在使用 JavaFX 开发一个软件,但我遇到了一个愚蠢但令人担忧的问题。

在代码的某些部分我有一个HBox,并且,其中包含三项:image, a label and a VBox.

问题是我想要image向左对齐,即紧挨着左边距window,以及VBox向右对齐,即靠近右边框window我不知道该怎么做。

我尝试过使用VBox.setAlignment(Pos.RIGHT_CENTER),但没有成功。


当您想要将项目放置在布局的两个角时,这是最常见的对齐问题。

假设您想要:

HBox
  |
  ImageView (Left)
  Label (Center)
  VBox (Right)

我非常简单的解决方案是使用两个额外的Regions。介于 ImageView 和 Label 之间的一种。另一个介于 Label 和 VBox 之间。

HBox
  |
  ImageView (Left)
  Region
  Label (Center)
  Region
  VBox (Right)

这些地区必须有HGrow set as Priority.Always,这样,如果您调整 HBox 的大小,这两个元素将会增长,从而使其他元素完好无损地保持在其位置。

FXML 示例 :

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>

<HBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="94.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <ImageView fitHeight="150.0" fitWidth="140.0" pickOnBounds="true" preserveRatio="true">
         <image>
            <Image url="http://www.imaginaformacion.com/wp-content/uploads/2010/06/JavaFx.png" />
         </image>
      </ImageView>
      <Region prefHeight="200.0" prefWidth="200.0" HBox.hgrow="ALWAYS" />
      <Label prefHeight="17.0" prefWidth="205.0" text="Label On the Center" />
      <Region prefHeight="200.0" prefWidth="200.0" HBox.hgrow="ALWAYS" />
      <VBox alignment="CENTER_RIGHT" prefHeight="94.0" prefWidth="200.0">
         <children>
            <Label prefHeight="17.0" prefWidth="200.0" text="Label Inside the VBox" />
         </children>
      </VBox>
   </children>
</HBox>

请注意HBox.hgrow="ALWAYS"在这两个地区。

Output

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

JavaFX HBox 对齐 的相关文章

随机推荐

  • PIP 和 virtualenv 的问题[重复]

    这个问题在这里已经有答案了 每当我在桌面上创建一个文件夹并在终端上运行 virtualenv venv 时 一切都正常 但是 当我尝试在 文档 文件夹中创建一个文件夹并运行 virtualenv venv 时 我收到以下错误 有什么建议为什
  • 如何使用Android SDK插件?

    任何人都可以分享一些开发新 SDK 附加组件 例如 Google 地图 API 的详细信息吗 我没有找到有关如何构建新 SDK 附加组件的任何详细信息 使用 SDK 插件连接到 Twitter Facebook YouTube 应用程序是个
  • 在客户端使用带有 GWT 的 3rd 方库?

    我开始使用 GWT 想知道哪些库可以在客户端与 GWT 一起使用 因为 GWT 将 Java 代码转换为 JavaScript 所以如果您只使用客户端 我真的无法想象所有转换都是可能的 当然 您不想在实际应用程序中使用客户端的所有内容 但我
  • 为什么 NSURLConnection 失败并出现错误 Domain=NSURLErrorDomain Code=-1005 “网络连接丢失。”

    我收到错误 Error Domain NSURLErrorDomain Code 1005 The network connection was lost UserInfo 0x10e74380 NSLocalizedDescription
  • 如何在 Eclipse 中启用索引下载以进行 Maven 依赖项搜索? [复制]

    这个问题在这里已经有答案了 我正在使用带有 m2e 插件的 Eclipse Luna 当我搜索依赖项时 我收到以下警告 另请参阅后面的屏幕截图 索引下载被禁用 搜索结果可能不完整 如何启用索引下载 在 Eclipse 中 单击窗口 gt 首
  • 如何解码不同类型的 JSON 属性? [复制]

    这个问题在这里已经有答案了 我有一个 JSON tvShow id 5348 name Supernatural permalink supernatural url http www episodate com tv show super
  • 警告未使用的 using 语句的静态分析规则是什么?

    当文件中的任何对象不再引用 using 语句时 是否有任何 FxCop 或 StyleCop 会发出警告 您可以启用该规则IDE0005 C Using directive is unnecessary 在类别中Style
  • 在 Jasper 报表上的表中显示 JSON 数组

    我正在尝试使用由 JAVA 函数传递的 JSONDatasource 创建 JasperReport 这是我发送给 jasper 的 JSON Person FirstName John LastName Smith Contacts Ty
  • XML、命名空间和 E4X

    有人可以解释一下 XML 中的命名空间 xmlns 到底有什么用 以及如何使用它们在使用 E4X 导航 XML 时使用它们 最好在 ActionScript 3 中 我无法完全理解它们的目的和用途 理论上 XML命名空间是用来避免与标签名称
  • 如何在tensorflow v2中启用cuda统一内存

    In tensorflow1 x 有一个选项 例如use unified memory and per process gpu memory fraction这有可能触发 CUDA UVM 的使用 但这怎么能在tensorflow 2 0
  • 使用 Moq 重写同一类中的虚拟方法

    我们正在使用 Moq 来对我们的服务类进行单元测试 但仍停留在如何测试服务方法调用同一类的另一个服务方法的情况 我尝试将被调用的方法设置为虚拟 但仍然不知道在最小起订量中要做什么 例如 public class RenewalService
  • 如何创建一个 Grid,其 X 轴和 Y 轴绑定到不同的集合?

    我需要显示一些内容 其中沿列显示一周的天数 沿行显示类别列表 以及单元格中到期的任务列表 参见下面的草图 我觉得解决方案应该很简单 但对于如何绑定这样的东西我还是一片空白 单元格中的行 列和数据项都是动态的 具体取决于用户正在查看的周 理想
  • 无法转换 COM 对象 - Microsoft Outlook 和 C#

    我编写了这段代码来查看 Outlook 邮箱中的未读邮件 代码如下 Microsoft Office Interop Outlook Application app Microsoft Office Interop Outlook Item
  • 上传压缩图片

    我是安卓新手 我创建了一个应用程序来将图像上传到服务器 它非常适合小尺寸图像 但对于较大图像 gt 1 MB 这不起作用 这是我上传图片的功能 class UploadFile extends AsyncTask
  • 在android studio 0.2.8中导入外部库

    我试图将外部库导入到 android studio 中的 android 项目中 这里的许多答案都说它可以从设置中的项目结构中的模块完成 但是自 0 2 8 更新以来 项目结构中没有库 模块 我现在如何导入外部库 也许这是 0 2 8 更新
  • 将数据获取到复杂性:未调用 ExtensionDelegate

    看起来前几周其他人也遇到过这个问题 但我还没有找到任何解决方案 我正在尝试做一件非常基本的事情 将数据从我的 iOS 应用程序或我的 Watch 应用程序获取到我的复杂功能控制器 事实证明 我完成这件事的能力比我想象的要差得多 watchO
  • pub get 错误:无法创建链接...(操作系统错误:函数不正确)

    我在尝试获取 Angular dart Codelab 的包时遇到错误 10 01 28 Running pub get Pub get failed 1 Resolving dependencies Cannot create link
  • Flyway 在空模式上发现非空模式

    我正在尝试实施数据库迁移Flyway 4 2 0 Oracle 11g 我有这个空架构 当我尝试迁移时 Flyway 说 造成原因 org flywaydb core api FlywayException 发现非空 模式 PASHA 没有
  • 具有 CSS 变量的 SVG 半径或位置

    是否可以在 SVG 中使用 CSS 变量来操作 中的半径或位置 等值属性样式 一个元素 例如 在下面的代码中 我添加了一个 CSS 颜色变量 dark text clr和一个半径变量 radius 当我使用填充中的颜色 CSS 变量 htt
  • JavaFX HBox 对齐

    我一直在使用 JavaFX 开发一个软件 但我遇到了一个愚蠢但令人担忧的问题 在代码的某些部分我有一个HBox 并且 其中包含三项 image a label and a VBox 问题是我想要image向左对齐 即紧挨着左边距window