2012-01-01 1 views
0

이 줄 바꿈 코드는 별도로 구분되어 있습니다. & 탭 간격.Java SE에서 g.drawString의 줄 바꿈 및 탭 간격

줄 간격 :

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 

답변

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 내부 변수의 수정을 포함하면 그 혼란한다. 나는 코드를보다 명확하게하기 위해이 개 지침으로 분리 것 :

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

PS를 : 당신은 당신이 단순히 JTextArea에 사용하지 않으려는 확신?

+0

정말 고마워요. 이것은 나를 위해 일했습니다. – ArMEd