Textflow.setMaxWidth(double)
テキストの折り返しを実現できます。
TextFlow
しかし、実際のラッピング位置に基づいて、その後の幅を調整するにはどうすればよいですか?
つまり、TextFlow
境界をすべての子境界にスナップさせText
て、右側の空きスペースを取り除く方法は次のとおりです。
**編集**この問題について、いくつかの進展がありました。から派生した私のクラスにはTextFlow
以下が含まれています:
double maxChildWidth = 0;
for (Node child : getManagedChildren()) {
double childWidth = child.getLayoutBounds().getWidth();
maxChildWidth = Math.max(maxChildWidth, childWidth);
}
double insetWidth = getInsets().getLeft() + getInsets().getRight();
double adjustedWidth = maxChildWidth + insetWidth;
setMaxWidth(adjustedWidth);
残念ながら、このアプローチは、場合によっては 2 回目のテキスト フローの変更をもたらすため、まだ正確ではないようです。