0

我分别获得了这些换行和制表符间距的编码。

行间距:

private void drawString(Graphics g, String text, int x, int y) {
    for (String line : text.split("\n")) {
        g.drawString(line, x, y += g.getFontMetrics().getHeight());
    }
} 

制表符间距:

private void drawtabString(Graphics g, String text, int x, int y) {
    for (String line : text.split("\t")) {
        g.drawString(line, x += g.getFontMetrics().getHeight(), y);
    }
}

如何组合这些代码?

我想要输出的地方g.drawString("Line 1\t:Words\t\nLine 2\t:\tWords", x, y);:喜欢;

Line 1 [tab space]: [tabspace] Words
Line 2 [tab space]: [tabspace] Words
4

1 回答 1

1
private void drawString(Graphics g, String text, int x, int y) {
    for (String line : text.split("\n")) {
        drawtabString(g, line, x, y += g.getFontMetrics().getHeight());
    }
} 

注意:将y变量的修改嵌入到方法调用中会让人感到困惑。我会将它分成 2 条指令,以使代码更明显:

drawtabString(g, line, x, y);
y += g.getFontMetrics().getHeight();

PS:你确定你不想简单地使用 JTextArea 吗?

于 2012-01-01T11:57:28.797 回答