2014-03-01 2 views
2

JCheckBox에서 사용자 지정 글꼴을 사용할 때 Java (스윙)에서 약간의 시각적 문제가 발생했습니다. JCheckBox 텍스트가 여러 줄에 걸쳐 있습니다. 기본 글꼴을 사용하면 잘 보입니다. 그러나 (.ttf 파일에서 직접 가져온) 사용자 지정 글꼴을 사용하면 세로 맞춤이 약간 오프셋되어 보이지 않게 보입니다. 체크 박스와 함께 표시되는 텍스트는 보다 높고 이상이어야합니다.JCheckBox : 여러 줄 텍스트의 세로 맞춤

확인란의 텍스트 위치를 조정할 수있는 방법이 있습니까? checkbox.setVerticalTextPosition(SwingConstants.TOP)

enter image description here

+0

기본 글꼴에 어떤 문제가 있습니까? 크기? 피치? 스타일? 사용 가능한 글리프? – trashgod

+0

@trashgod 크기 + 스타일입니다. 다른 글꼴을 사용하고 싶습니다. 나머지 UI에서도이 글꼴을 사용하고 있습니다. – uyuyuy99

답변

3

각 플랫폼은 정의 논리적Font 가족을 위해 사용하는 물리적 글꼴을 지정 : 나는 상단에있는 체크 박스를 정렬하기 위해이 코드를 사용할 때 발생합니다. 이 글꼴에는 호스트 플랫폼과 호환되는 잘 정의 된 메트릭이 있습니다. odd-lot 글꼴을 사용하면 글꼴 디자이너와 플랫폼의 글꼴 힌트 구현이 도움이됩니다. 대신 here과 같이 부터 까지으로 원하는 크기와 스타일을 으로 변경 한 후 GUI를 구성하십시오.을 사용하십시오.

+0

응답 해 주셔서 감사합니다. 제가 사용하고있는 글꼴은 Roboto입니다. Roboto는 상당히 일반적인 글꼴이므로 스윙과 함께 잘 작동해야한다고 생각했습니다. 나는 당신이 말한 것을 해봤지만 폰트의 크기/스타일 만 바꾸는 것처럼 보입니다. 문제는 여전히 지속됩니다. – uyuyuy99

+1

맞아, 문제는 호스트 OS에서 가져온 메트릭을 사용하여 플랫폼이 글꼴을 어떻게 적용하는지에 있습니다. 스타일과 크기 외에도 'AffineTransform'을 적용 할 수 있습니다. – trashgod

+0

AffineTransform에 대해 알려 주셔서 감사합니다. 글꼴에 대한 번역을 적용하여 위치를 조정하려고했습니다. 어떤 이유로 든 프로그램의 모든 텍스트에 대해 확인란의 레이블을 제외하고 작동하는 것처럼 보였습니다. 어쨌든 해결 방법 해결책을 찾았습니다. 어떤 이유로 든이 글꼴로 더 잘 작동하는 것으로 보이는 확인란과 별도의 도구를 사용했습니다. – uyuyuy99