2012-05-15 3 views
0

JPanel에서 일부 문자열을 그리는 중입니다. 그러나이 문자열을 서로 위에 그려야합니다.문자열이 다른 문자열 위에 그려지지 않은 경우 자바를 검사하는 방법은 무엇입니까?

패널의 한 점에 문자열이 있는지 어떻게 확인할 수 있습니까?

감사합니다.

+2

[LayoutManager] (http://docs.oracle.com/javase/6/docs/api/java/awt/LayoutManager.html)에 대한 설명은 무엇입니까? – PeterMmm

+0

다른 GUI 개체의 레이블을 사용하고 있지 않습니다. DrawString() 메서드를 사용하여 문자열을 그립니다. –

+0

LayoutManagers 매우 sofisticated 수 있습니다 ... – PeterMmm

답변

0

모든 문자열과 위치를 추적하고 java.awt.FontMetrics을 사용하여 문자열의 경계 상자를 계산하십시오. 교차점의 경계 상자를 확인하기 만하면됩니다.

+0

나는 많은 문자열을 가지고 있기 때문에 나를 위해 wotk 못해 :) 그리고 내 응용 프로그램은 빠릅니다. 이 FontMetrics가 빠르다면 나는 모른다. p.s. 나는 프로그램과 같은 Google 맵에서 작업 중이다. –

+0

JPanel 전체를 버퍼링 한 다음 모든 픽셀의 색상을 확인하는 것이 빠릅니다. – AvrDragon

+0

당신은 다른 선택의 여지가 없다. 내 의견으로는, 당신이 속력을 내고 싶다면 결과를 캐싱 할 수있다. myCharWidth * myCityName.length = width .. 너는 여러 줄 문자 또는 텍스트 줄 바꿈이 없으면 높이를 쉽게 만들 수 있습니다. –

관련 문제