0
현재 제가 직면 한 문제는 다음과 같습니다. Java2D를 사용하여 JPanel에 String을 그려야합니다. String은 사용자 정의 각도로 회전해야합니다.Mac에서 Java2D의 텍스트 회전
그 문자열에서 나는 또한 배경색을 페인트하여 (많은 다른 것들이 내 JPanel에서 그려진다) 주어진 색상으로 페인트한다.
이 리눅스에 매우 잘 작동하지만, 맥 OS X에final Graphics2D g2 = (Graphics2D) g.create();
final int textWidth = g.getFontMetrics().stringWidth(textToDraw);
final int textHeight = g.getFontMetrics().getHeight();
g2.translate(pointToDraw.x, pointToDraw.y);
g2.rotate(angle);
g2.setColor(textBackground);
g2.fillRect(deltaX, -textHeight, textWidth, textHeight);
g2.setColor(drawColor);
g2.setFont(font);
g2.drawString(textToDraw, deltaX, deltaY);
g2.dispose();
이 (자바 1.6), 텍스트가 아닌 : 내 JPanel의의 오버라이드 (override) 페인트 방법, 무슨 짓을
은 다음과 같다 제대로 표시 : 텍스트가 올바르게 회전하지만 각 문자 뒤에 줄 바꿈이 있습니다.
어떻게 두 플랫폼에서 작동하게 할 수 있습니까?
는 나는 이것이 당신이 원하는 것 해결책이지만, 모든 것을에서 내가 읽을 수있었습니다, 더 나은 해결책이 될 수없는 것 생각하지 않는다
그것은 확실히 ... 다음 이미지를 회전 (당신은 속성 내가
paint
방법에서 그것을 한 적이있는, 저와는 달리, 변경하는 경우에만 이미지를 만들어야을) 못생긴,하지만 그건 속임수를 했어 – Ben매혹적인 버그, 뒤쪽의 고통, 매혹적인 – MadProgrammer