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

JavaFX 8-定位HBox的文本垂直中心

岳高明
2023-03-14

我有一个非常困难的时间定位文本在一个HBox。我可以设置文本的水平对齐方式,但我不能设置文本的垂直对齐方式。我正试图将文本设置在Hbox的垂直中心,但它却出现在顶部。

任何帮助都将不胜感激。

// Create The Updates Progress Bar At The Bottom Of The Window
HBox checkUpdatesBar = new HBox();
checkUpdatesBar.setId("checkUpdatesBar");
checkUpdatesBar.setPrefSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);
checkUpdatesBar.setMinSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);
checkUpdatesBar.setMaxSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);

// Create The 'Check For Updates...' Text
Text checkForUpdates = new Text();
checkForUpdates.setFont(Font.font("Arial Black", FontWeight.BLACK, 15));
checkForUpdates.setWrappingWidth(CHECK_PANE_WIDTH / 2.8);
checkForUpdates.setFill(Color.WHITE);
checkForUpdates.setTextAlignment(TextAlignment.CENTER);
checkForUpdates.setText("Checking For Updates ...".toUpperCase());

checkUpdatesBar.getChildren().add(checkForUpdates);

我的代码生成以下内容:http://puu.sh/ccekp/41a26038a4.png

我喜欢我的水平定位。我知道它不在中间,因为是我设定的。不过,我只是在意垂直的定位。

我分别尝试了以下内容:

checkForUpdates.setLayoutY(20);
checkForUpdates.setY(20);

我选择了数字20,因为我想将文本从HBox顶部向下移动20像素。我在Photoshop中计算了这个值。不过如果有更好的方法可以将文本设置在HBox的垂直中心,请给我一些建议。

共有1个答案

赵河
2023-03-14

如果只想将文本定位在HBox的中心,则可以使用HBox对齐属性来完成此操作。

将对齐方式设置为center_left,以放置子项,从HBox垂直空间的中心开始

checkUpdatesBar.setAlignment(Pos.CENTER_LEFT);
 类似资料:
  • 试图将我的旁边的表单与对齐,我正在努力将组件放到面板顶部。我需要价格标签和字段就在商品标签和字段下面,但我无法让它从面板底部移动。 如果我使用,这会将项目标签和字段移到顶部,但随后我就失去了用锚定它的能力。除非有办法两者兼得?请看我试图展示我想要放置表格的区域的图片。谢谢你的帮助。

  • 问题内容: 下面的代码(也可以在JSFiddle上作为演示使用没有将文本放在中间,正如我理想中的那样。即使使用属性,我也找不到任何方法可以使文本垂直居中。我怎样才能做到这一点? 问题答案: 创建一个用于文本内容的容器,也许是。 JSFiddle

  • 我用GridLayoutManager实现了一个RecyclerView,它有垂直和水平滚动,我需要将布局滚动到特定的位置,引用了很多代码,但对我来说没有效果。 Java类代码: XML: 只有在添加了垂直和水平滚动的嵌套滚动视图后,滚动才能在两个方向上顺利工作。现在我需要滚动到特定的位置。 谢谢您

  • 问题内容: 是否有(便携式)方式将HTML表格单元格中的文本旋转90°? (我的表有很多列,标题的文本很多,所以我想垂直书写以节省空间。) 问题答案: .box_rotate { 截至2017年,上述站点已简化了规则集以删除旧版InternetExplorer过滤器并更多地依赖现在的标准属性:

  • 我想使用flexbox来垂直对齐 中的一些内容,但没有取得很大的成功。 我在网上查了一下,很多教程实际上都使用了包装器div,它从父级的flex设置中获得,但我想知道是否可以去掉这个附加元素? 我选择在此实例中使用flexbox,因为列表项高度将是动态的。 null null

  • 如图所示,我有代码在屏幕上绘制文本。textalign函数仅支持水平对齐。现在,我要添加对垂直对齐的支持。有人能帮我一下吗? 代码