2010-08-10 1 views
2

기본적으로 스윙은 텍스트 필드의 텍스트가 잘 렸음을 나타 내기 위해 줄임표를 사용합니다. Swing이 다른 클립 문자열을 사용하도록이 동작을 수정할 수 있습니까? 예를 들어, 대신에>를 사용하는 경우 ...텍스트 구성 요소를 배치 할 때 스윙에서 사용하는 클립 문자열 타원을 수정하는 방법

SwingUtilities2.java에는이 절단 및 "..."추가를 수행하는 것으로 보이는 clipString()이라는 메서드가 있습니다. 불행히도 클립 문자열은 하드 코딩 된 것으로 보입니다.

+0

나는 당신의 답을위한 해결책이 없지만, 당신이 왜 그 대신에 ... 싶을지 궁금하다. – Ridcully

+0

[텍스트 구성 요소를 배치 할 때 Swing에서 사용하는 클립 문자열 타원을 수정하는 방법] (http://stackoverflow.com/questions/3447078/how-to-modify-the-clip-string-ellipses-used) -by-swing-when-laying-out-text-compone) – trashgod

+0

예, 이것은 당신이 언급 한 질문의 dup입니다. –

답변

0

SwingUtilities2에는 많은 정적 메소드가 있습니다. 이 클래스의 소스 코드를 복사하여 개인용 유틸리티 클래스에 붙여 넣을 수 있으며 (필요에 따라) 클립 문자열을 필요에 맞게 조정할 수 있습니다.

아니면 '후 처리'를 수행하고 잘린 결과 문자열에서 타원을 대체하십시오.

다른 모든 경우에 대해 clipString()이 Swing 프레임 워크에서 호출 된 경우 손실 된 것 같습니다.

1

자신을 잘라내는 것은 그리 어렵지 않을 것입니다.

텍스트를 표시하려는 경우 JLabel을 사용하려면 FontMetrics (멋진 charsWidth 메서드 사용)을 잡고 간단히 필요한만큼 멀리 되돌릴 수있는 문자를 추가하고 '>'를 추가하십시오.

setSize, setFont 등의 적절한 메서드를 오버로드하고 표시 할 문자열을 다시 계산합니다.

관련 문제