2

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 回目のテキスト フローの変更をもたらすため、まだ正確ではないようです。

4

1 に答える 1