java - JavaFx 将标签修复到 vbox 的左侧站点
问题描述
我需要将标签放置在 VBox 的左侧,但 Vbox 使用 setRight() 放置在 BorderPane 内。代码如下所示:
HUD hud;
public GUIGame() { //extends BorderPane
setMinSize(TILE_SIZE*8, TILE_SIZE*8);
setPrefSize(TILE_SIZE*8, TILE_SIZE*8);
pg = new PlayGround();
setLeft(pg.createContent()); //createContent returns a parent
hud = new HUD(pg);
setRight(hud);
}
public HUD(PlayGround pg){ //extends VBox
setSpacing(50);
addLabels(pg);
}
private void addLabels(PlayGround pg){
final double X_TRANSLATE_LABLE = HUD_WIDTH /2 - 35;
Label myLabel = new Label();
myLabel.textProperty().bind(Bindings.concat(fooString, ": ", longFooString));
myLabel.setFont(new Font(MAX_FONT_SIZE));
myLabel.setTranslateX(-X_TRANSLATE_LABLE);
getChildren().addAll(myLabel,...,otherLabels)
}
我设置 translateX 以将标签移动到 HUD 的左侧。但是随着 longFooString 变长(仍然适合 HUD)标签在我的 PlayGround 内移动(可能是因为它试图保持 XTranslate 距离)。有任何解决这个问题的方法吗?我尝试使用 GridPane 但这并没有真正奏效。我还尝试设置标签的最大宽度,也没有用。
解决方案
推荐阅读
- python - 不一致的结果美丽的汤?
- python - 如何将 python 3.5 更改为 python 3.6 环境
- google-sheets - 如何在谷歌电子表格中创建类
- javascript - 使用 Firebase 的痛苦查询 API?
- kendo-ui - 在 Angular JS Kendo 下拉菜单中不设置模型值
- python - 暗光检测器未安装
- java - Hibernate 尝试删除以前删除的行
- regex - 正则表达式 / Python3 - re.findall() - 查找操作码之间的所有匹配项
- php - 同一个应用程序是否可以有多个 .htaccess 文件?
- javascript - 如何在 Ionic 4 中导入 crypto-js