2010-11-24 3 views
6

누구나 자바 2d에서 텍스트를 차광하는 법을 알려줄 수 있습니까?자바 그래픽으로 텍스트 정렬 2d

코드는 자연스럽게 왼쪽으로 정렬되는 텍스트 열을 그립니다.

Font yFont = new Font("Arial", Font.BOLD, 13); 

interval = 0; 

g2d.setFont(yFont); 
for (String l : binLabels) { 
    g2d.drawString(l, 0, (135 + interval)); 
    interval = interval + 15; 
} 

나를 미치게합니다. 감사합니다 모두들

slothishtype

당신의 paintComponent() 메소드에서

답변

13

당신이 페인트 할 문자열의 폭을 얻기 위해 폰트 메트릭스를 사용할 수 있습니다 : 당신이 계산 그리고

FontMetrics fm = getFontMetrics(getFont()); 
int width = fm.stringWidth("your string here"); 

을 어디에 오프셋 (offset) 컴퍼넌트의 폭에 근거 해 페인팅을 개시합니다.

질문은 당신이 이것을 시도한 이유입니다. JLabel을 사용하고 오른쪽 정렬을 설정할 수 있습니다.

+0

멋지고 감사합니다 ... jLabel을 다시 방문하겠습니다 ... – slotishtype

+0

레이아웃 관리자를 사용하여 JLabel을 배치해야합니까? – slotishtype

+0

예, 레이아웃 관리자를 사용하여 항상 GUI를 작성해야합니다. – camickr