0

TextArea にテキストを動的に追加すると、次のように正しくラップされました。

テキストエリア

しかし、要件が変更されたため、各テキストの (前に) 箇条書きとして画像を追加する必要があります。次に、GridPane を使用して、次のように画像付きのテキストを追加しました。

グリッドペイン

コンポーネントを GridPane に追加するために使用されるコード:

 // Set the GridPane empty 
 gridPane.getChildren().removeAll();

 // Add image with each text
 int index = 0;
 for(String des : descriptionsList) {

     HBox btnHb = new HBox();

     ImageView passed = new ImageView();
     passed.setImage(new Image(getClass().getResourceAsStream(GuiConstant.Image.IMAGE_PASSED)));
     btnHb.getChildren().add(passed);

     Text text = new Text(des);
     btnHb.getChildren().add(text);

     gridPane.addRow(index, btnHb);
     index++;
}

(GridPane を使用して) テキストが正しくラップされない問題が追加されました。この問題を解決するにはどうすればよいですか。ありがとう。

4

1 に答える 1

0

Text インスタンスのラッピング幅を GridPane の幅に相対的に設定する必要があります。HBox インスタンスを介して間接的に行うことができます。

btnHub.prefWidthProperty().bind(gridPane.widthProperty(); text.wrappingWidthProperty().bind(btnHub.widthProperty().subtract(passed.widthProperty().subtract(10));

私は実際にこれらの変更を試していませんが、それら (または非常に類似したもの) でうまくいくはずです。

于 2014-07-03T14:09:28.637 に答える