을 시퀀싱 :자바 회전 텍스트가 반전 한 문자는 내가이 일을 오전 <code>JPanel</code>의 서브 클래스에서
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.rotate(Math.toRadians(90.));
g2d.drawString(aString, 40, -40);
}
의 문자가 올바르게 회전하지만, 두 번째는 첫 번째 아래의 예상 위치에 있지 (그것 회전 된 공간에서) 왼쪽에서 왼쪽으로, 세 번째는 왼쪽에서 왼쪽으로 이동합니다. 회전 각도를 45 도로 변경하면 각 문자가 45도 회전하고, 문자의 행은 45도 ccw로 회전합니다. 이는 두 회전이 90 도의 결과 중 간부와 일치 함을 의미합니다.
0도 회전시 텍스트가 올바르게 나타납니다.
Mac OS X 10.8.2에서 NetBeans 7.1.2로 개발 중입니다. Win 7 SP1의 NetBeans와 동일한 버전에는 문제가 없습니다.
이 문제의 원인은 무엇일까요?
:
나는 우아 솔루션 먼저 플랫폼을 확인하는 것입니다 경우는 약간 때문에 실제 단지 텍스트를 회전하는 것이 더 효율적이라고 생각합니다. 회전하기 전에 drawString을 호출 할 수 있습니다. –
그런 다음 올바르게 정렬되지 않습니다. –
Windows에서 작동한다는 사실은 OS X Java의 버그를 제안합니다. Java2D 데모를 실행하고 변환 탭을 보는 경우 비슷한 문제가 발생합니까? (Java2D는 http://www.oracle.com/technetwork/java/javase/downloads/에서 다운로드 할 수있는 별도로 다운로드 할 수있는 JDK "데모 및 샘플"패키지의 demo/jfc/Java2D에 있습니다.) – VGR