e653. 写入段落文本

In order to change the font of the text, you need to supply an attributed string to the LineBreakMeasurer. See e655 混合风格的文本 for an example.

    public void drawParagraph(Graphics2D g, String paragraph, float width) {
        LineBreakMeasurer linebreaker = new LineBreakMeasurer(
            new AttributedString(paragraph).getIterator(), g.getFontRenderContext());
    
        float y = 0.0f;
        while (linebreaker.getPosition() < paragraph.length()) {
            TextLayout tl = linebreaker.nextLayout(width);
    
            y += tl.getAscent();
            tl.draw(g, 0, y);
            y += tl.getDescent() + tl.getLeading();
        }
    }

 

Related Examples
posted @ 2018-09-02 21:30  borter  阅读(127)  评论(0编辑  收藏  举报