Как разместить текст вокруг изображения в метке с помощью JavaFX - PullRequest
2 голосов
/ 23 марта 2019

Я делаю приложение с JavaFX. Я делаю графический интерфейс в Scene Builder

У меня есть AnchorPane, который включает метку. Я разместил изображение и текст на этикетке.

Текст помещается после изображения, но не попадает под изображение, если в тексте слишком много строк.

Вот что у меня есть в Scene Builder:

screen 1

screen 2

screen 3

Как этого добиться?

screen 4

EDIT:

Я пытался привязать свойство wrap метки к изображению, но у меня возникла ошибка в Intelij Idea:

idea error

lb_previewCard - это fxid метки

previewImage - это fxid ImageView

РЕДАКТИРОВАТЬ 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());

}

Я попытался назначить различные свойства ширины Anchor Pane для wrapTextPropery() метки, и Intelij Idea делает такие ошибки:

Intelij Error

когда я выбираю методы, связанные с наклейкой этикетки, у меня может быть только три из них:

wrapping text methods

РЕДАКТИРОВАТЬ 3:

Я пытался создать строковую переменную и присвоить ей текст из метки, но эта переменная не может иметь такой метод, как bind()

private String textFromPreviewCard = lb_previewCard.getText();

bind error

1 Ответ

0 голосов
/ 23 марта 2019

Редактировать: До меня дошло, что первый оставленный мною ответ не сработал.Мне очень жаль за неудобства, которые это могло причинить вам;У меня благие намерения.

С тех пор я искал ответ и, к сожалению, не могу его найти.Привязка свойства переноса текста к его родительскому элементу просто делает текстовую ширину динамической для его контейнера и не оборачивает другие узлы.Не уверен, удалить этот ответ или нет, я скажу вам, что я буду делать.

Если вашему приложению нужно манипулировать содержимым текста, это не то, что вы хотите, но я бы сделализображение с переносом текста в другом приложении, таком как Paint, Photoshop или Gimp, и сохраните все как изображение.Я думаю, что даже MS Word позволит вам сделать это.Затем сохраните изображение и пусть ваше приложение отобразит изображение с текстом в виде ImageView.

Надеюсь, это поможет хоть немного.Надеюсь, у кого-то здесь будет более функциональный ответ.

...