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);:Like;

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 に答える