2011-03-16 3 views
1

함수 drawString (...)에는 x 및 y를 텍스트의 가운데에 넣을 수있는 유사한 "앵커"가 없습니다. 나는 그것을 수동으로 할 수 있다는 것을 알고 있으며 JTextArea 나 JLabels도 사용하고 싶지 않습니다. 그것은 현명한 방법으로 그것을 할 수 있습니까 아니면 그것을 할 수있는 방법이 있습니까?어떻게 매력을 느끼지 않고 Graphics2D에 텍스트를 정렬 할 수 있습니까?

감사합니다.

답변

4

그래픽 개체에서 을 가져오고 getStringBounds()을 사용하여 텍스트의 이미지 크기를 가져옵니다. 그로부터 x와 y가 원하는 텍스트를 배치하기 위해 무엇을해야하는지 알아낼 수 있습니다.

+0

이것은 그리 똑똑하지 않거나 내가 말한 것처럼 "수동으로"입니다. 호소입니다! :) 그러나 그것은 괜찮습니다, 나는 그것이 유일한 나쁜 해결책이라고 확신합니다. 어쨌든 고마워! –

+1

@Felipe Micaroni Lalli "이것은 수동이 아닙니다." 예 단순히 프로그래머가 단순히 부두 API를 호출하는 것이 아니라 실제로 프로그래밍해야하는 경우가 있다는 사실은 슬픈 사실입니다.

+0

@Andrew +1 : MSDOS에서 C에서 GUI를 프로그래밍 할 때 기억 된 점은 주어진 좌표가 가운데 맞춤되어 있거나 왼쪽/오른쪽으로 X/Y 방향으로 정렬되어 있는지 지정할 수있었습니다. 자바는 우리가 어떻게 든 게으른 데 사용되었다고 생각합니다 :) – Matthieu

관련 문제