요즘 자바의 Graphics을 이용하여, 유틸리티를 만들고 있습니다.
drawImage 함수의 경우 제목 표시줄을 제외하고
실질적은 Graphics 프레임 영역에서 부터 0,0이 시작됩니다.
그런데 drawString은 제목 표시줄의 영역부터 0,0이 시작됩니다.
그래서 drawString을 0,0내 찍으면 제목표시줄에 가려서 보이지가 않습니다.
그냥 Y 좌표에 대략적으로 +10, +12 정도 주고 사용해도 되겠지만,
자바의 특성상 다른 OS에 갔을때 제목표시줄의 크기가 변할것 같은 찜찜함에
해결 방법을 찾아봤습니다.
https://stackoverflow.com/questions/45227294/setting-drawstring-so-0-0-is-inside-the-draw-area
에서 해법을 찾았습니다.
기준의 위치를 바꿔주면 됩니다.
FontMetrics fm = g.getFontMetrics();
g.translate(0, fm.getAscent());
Font font = new Font ("font/NanumBarunGothic.ttf", Font.PLAIN, fontSize);
g.setColor(color);
g.setFont (font);
g.drawString(str, x, y);
g.translate(0, 0);
위와 같이 기준점을 fm.getAscent() 함수를 이용해 변경해서 drawString 글자를 찍고
다시 원래대로 g.translate(0, 0); 돌려줍니다.
위와 같은 방법으로 문제를 해결했습니다.
'JAVA,JavaScript' 카테고리의 다른 글
[JAVA] CMD 창에서 실행한 jar 한글 깨짐 현상 해결 (3) | 2017.10.23 |
---|---|
[JAVA] replaceAll 을 이용한 script 제거 정규식 StackOverflowError 에러 해결법 (0) | 2017.09.19 |
[JavaScript] 자바스크립트 $ is not defined 오류 해결 (0) | 2017.05.10 |
[java] http get 주소쿼리 java map에 매핑하기 (0) | 2015.09.30 |
[Java] SimpleDateFormat 패턴 정리 (0) | 2015.04.14 |