2013-04-25 4 views
0

레이블의 텍스트가 너무 길 때 줄임 JLabel은 줄여서 끝에 ...를 추가합니다. 이 텍스트를 어떻게 사용자 정의 할 수 있습니까?JLabel을 사용자 정의하는 방법

나는 긴 텍스트에 축약 방법이 지금은 내가 JLabel의에 전달할 수있는 방법을 잘 모릅니다 :

public static String abbreviateMiddle(String str, String middle, int length, int lengthSuffix) { 
    if (StringUtils.isEmpty(str) || StringUtils.isEmpty(middle)) { 
     return str; 
    } 

    if (length >= str.length() || length < (middle.length() + 2) || lengthSuffix > length 
      || str.length() < lengthSuffix || length - middle.length() < lengthSuffix) { 
     return str; 
    } 

    int targetSting = length - middle.length(); 
    int endOffset = str.length() - lengthSuffix; 
    int startOffset = targetSting - lengthSuffix; 

    StrBuilder builder = new StrBuilder(length); 
    builder.append(str.substring(0, startOffset)); 
    builder.append(middle); 
    builder.append(str.substring(endOffset)); 

    return builder.toString(); 
} 

답변

1

하는 here, 라벨의 UI 위양이 layoutCL()에서 필요에 따라 생략이 추가되어있다. 효과를 적용하려면 프레임의 크기를 줄입니다. 결과를 가로 채서 String을 반환 할 수 있습니다.

관련 문제