当前位置: 首页 > 知识库问答 >
问题:

JavaFX HBox对齐

归鸿朗
2023-03-14

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

在代码的某些部分中,我有一个hbox,其中有三个项目:imagelabelvbox

共有1个答案

麹高义
2023-03-14

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

假设您想要:

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

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

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

这些区域必须将hgrow设置为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”

输出

 类似资料:
  • 本文向大家介绍对齐相关面试题,主要包含被问及对齐时的应答技巧和注意事项,需要的朋友参考一下 语音有很多帧向量,向量与模型的每个状态之间建立对应关系 对齐关系 理解为观测序列Y GMM:给定状态下,特征的概率 DNN:给定输入下,知道属于哪个特征(多类判决问题)状态的概率分布。

  • align(resource $resourchHandle, Format::const ...$style): \Vtiful\Kernel\Format 示例 $format = new \Vtiful\Kernel\Format($fileHandle); $alignStyle = $format ->align(Format::FORMAT_ALIGN_CENTER,

  • 移动对象 可以通过以下方式移动对象:使用特定工具拖动对象、使用键盘上的箭头键,或在面板或对话框中输入精确数值。 在移动对象时,您可以使用对齐功能来帮助定位对象。例如,您可以使指针对齐参考线和锚点,也可以使对象边界对齐网格线。还可以使用 “对齐 ”面板,根据对象之间的相对位置来对其进行定位。 然后,您便可以使用 Shift 键来限制一个或多个对象的移动,使其沿相对当前 x 轴和 y 轴的精确水平、垂

  • 对齐 iScroll能对齐到固定的位置和元素。 options.snap 最简单的对齐配置如下: var myScroll = new IScroll('#wrapper', { snap: true }); 这将按照页面容器的大小自动分割滚动条。 snap属性也可以传递字符类型类型的值。这个值是滚动条将要对齐到的元素的选择器。比如下面: var myScroll = new IScro

  • 内存里的所有数据都必须按照下表将地址对齐到可以被 2,4,8 或 16 整除的位置: 操作数据长度 PPlain 及 PMMX PPro, PII 及 PIII 1 (byte) 1 1 2 (word) 2 2 4 (dword) 4 4 6 (fword) 4 8 8 (qword) 8 8 10 (tbyte) 8 16 16 (oword) n.a. 16 在 PPlain 和 PMMX

  • 在Java中,如何使用printf()对同一行的输出进行一致的左对齐和右对齐?这是所有left aligned的代码: 这是所有东西都保持对齐的输出: 相反,如果第三个元素(0.20,1.00,9.00)是正确的,那么我想要的是什么。我在上面的输出中指出“l”是左对齐的,但我希望变量在“r”所在的位置是右对齐的。如何使右边的输出(0.20,1.00,9.00)右对齐,同时使左边的输出(苹果,派,奶