2017-11-16 4 views
0

Google 페이지 중 하나에서 정보를 블록으로 나누어 세부 정보 화면을 만들었습니다. HorizontalLayouts에 setExpandRatio을 사용했습니다. 다음은이가 (개인 정보 보호를 위해 검은 한 모든 값)을 구분하는 방법입니다 :Vaadin은 잠재적으로 비어있는 값을 가진 레이블의 비율을 확장합니다.

enter image description here

(지금 ---을 포함하는) 두 번째 행의 마지막 라벨이 실제로 대신 비어 있어야합니다. 모든 블록은 기본적으로 Vaadin 레이블이며 값이 들어 있습니다. 그러나이 값은 때때로 null 일 수 있습니다.이 경우 레이블에 아무 것도 표시하고 싶지 않습니다. 나는 그러나 대신 ---의 빈 문자열을 사용하는 경우

, 그것은 다음과 같이 표시됩니다

두 번째 행의 마지막 라벨에서 볼 수 있듯이

enter image description here

, 지금없는이 국경의 (Vaadin은 공백 입력이있는 레이블의 expandRatio을 자동으로 0에 놓고 너비를 0px으로 바꾸기 때문에 나중에 추가 할 수있는 다른 스타일이있을 수 있습니다.

안녕하세요. can set the actual width of a Label as filler을 알고 있지만,이 경우에는 해당 라벨에 있어야하는 값이 null인지 여부 만 묻는 질문에 불과합니다.

나는 또한 값으로 공간을 시도했지만 무시하고 공백 값과 동일하게 동작합니다. 그리고 " " 값을 HTML 모드로 설정하지 않고 그대로 출력하면  이라는 문자 그대로 출력됩니다.

null 값이 테두리가있는 스타일을 계속 표시하지만 가치가없는 경우 레이블에 사용할 수있는 값이 있습니까?


편집 : 나는  를 사용하고 HTML에 레이블의 ContentMode을 설정하면 흠, 그것을 작동하는 것 같다. 이게이 이슈의 의도 된 해결책인가? (즉, 빈 값을 포함 할 가능성이있는 모든 레이블에 대해 ContentMode를 HTML로 설정해야 함) 아니면이 '빈'값만 변경하여 다른 해결 방법이 있습니까?

답변

0

좋아, EDIT에 제공된 솔루션을 사용하여 끝났다. 이 모든 레이블에 대해서는 이미 BorderedLabel 클래스를 만들었으므로 간단히 setContentMode(ContentMode.HTML);을 추가하고 util 헬퍼 클래스에서 null 값일 때  을 사용했습니다.

관련 문제