我正在使用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会产生如下错误:
当我选择与标签包装相关的方法时,我只能有三个:
编辑3:
我试图创建一个String变量并将标签中的文本分配给它,但是这个变量不能有像bind()
这样的方法
private String textFromPreviewCard = lb_previewCard.getText();
编辑:我注意到我留下的第一个答案没有用。对于给您带来的任何不便,我感到非常抱歉;我有良好的愿望。
从那时起,我一直在寻找答案,不幸的是我找不到答案。将文本包装属性绑定到它的父级只是使文本宽度动态到它的容器,并且不包围其他节点。不确定是否删除这个答案,我会告诉你我会做什么。
如果你的应用程序需要操作文本的内容,这不是你想要的,但我会在另一个应用程序(如Paint,Photoshop或Gimp)中创建带有文本环绕的图像,并将整个事物保存为图像。我想即使MS Word也允许你这样做。然后保存图像并让应用程序显示带有文本的图像作为ImageView。
我希望这至少有一点帮助。希望这里有人能有更多功能性答案。