1
段落をレンダリングしていますが、語の折り返しのためにLineBreakMeasurer
とTextLayout
クラスを使用しています。 これは私がオンラインに容易に入手可能である、使用してい抜粋されています。しかし、私はフォントを変更しようとしていたときに、問題をJavaで図面の段落中にフォントを変更する
void drawParagraph(Graphics2D g, String paragraph, float width) {
LineBreakMeasurer linebreaker = new LineBreakMeasurer(new AttributedString(paragraph)
.getIterator(), g.getFontRenderContext());
int y = 0;
while (linebreaker.getPosition() < paragraph.length()) {
TextLayout textLayout = linebreaker.nextLayout(width);
y += textLayout.getAscent();
textLayout.draw(g, 0, y);
y += textLayout.getDescent() + textLayout.getLeading();
}
}
直面しています。 私はg.setFont(new Font(...))
を呼び出してフォントを変更していますが、段落はそのフォントでレンダリングされていません。ただし、g.drawString()
を使用しようとすると、期待どおりに動作しています。
この問題で私を助けてください。事前に感謝します。