如何使用JavaFX在imageview中放置文本

问题描述 投票:2回答:1

我正在使用JavaFX创建应用程序。我在Scene Builder中制作GUI

我有包含标签的AnchorPane。我将图像和文字放在标签上。

文本放在图像之后但如果文本行太多则不会在图像下面。

这是我在Scene Builder中的内容:

怎么做到这一点?

编辑:

我试图将标签的wrap属性绑定到image,但我在Intelij Idea中有错误:

lb_previewCard - 是标签的fxid

previewImage - 是ImageView的fxid

编辑2:

这是我在控制器中的代码:

@FXML  private AnchorPane previewCard;
@FXML  private Label lb_randomCard;
@FXML  private ImageView previewImage;

@FXML
  public void initialize(URL location, ResourceBundle resources) {

lb_previewCard.wrapTextProperty().bind(previewCard.prefWidthProperty());

}

我试图将锚点窗格的不同宽度属性分配给标签的wrapTextPropery(),Intelij Idea会产生如下错误:

Intelij Error

当我选择与标签包装相关的方法时,我只能有三个:

wrapping text methods

编辑3:

我试图创建一个String变量并将标签中的文本分配给它,但是这个变量不能有像bind()这样的方法

private String textFromPreviewCard = lb_previewCard.getText();

bind error

java javafx scenebuilder
1个回答
0
投票

编辑:我注意到我留下的第一个答案没有用。对于给您带来的任何不便,我感到非常抱歉;我有良好的愿望。

从那时起,我一直在寻找答案,不幸的是我找不到答案。将文本包装属性绑定到它的父级只是使文本宽度动态到它的容器,并且不包围其他节点。不确定是否删除这个答案,我会告诉你我会做什么。

如果你的应用程序需要操作文本的内容,这不是你想要的,但我会在另一个应用程序(如Paint,Photoshop或Gimp)中创建带有文本环绕的图像,并将整个事物保存为图像。我想即使MS Word也允许你这样做。然后保存图像并让应用程序显示带有文本的图像作为ImageView。

我希望这至少有一点帮助。希望这里有人能有更多功能性答案。

© www.soinside.com 2019 - 2024. All rights reserved.