2010-12-10 6 views
3

솔리드 경계선을 지정하고 해당 경계선의 색상을 지정하여 표준 SWT 라벨을 스타일 화하고 싶습니다. 나는 그것을 온라인으로 올려서 할 수있는 방법을 찾지 못하고있다. 심지어 지원됩니까? 내가하는 것처럼 보일 수있는 것은 SWT.BORDER 스타일을 적용하는 것입니다. SWT.BORDER 스타일은 3D 효과 테두리인데, 거의 보이지 않는 듯합니다.SWT의 레이블에 실선 테두리를 추가하고 테두리의 색을 변경하려면 어떻게합니까?

답변

2

JFace 양식은 FormToolkit에서 제공합니다. here을 참조하십시오.

개인 클래스 BorderPainter (줄 106-165)는 Mario가 이미 대답에서 설명한 바를 수행합니다. 사용자 정의 위젯 주위에 테두리를 그립니다. 제대로 작동하게하려면 위젯의 부모에게 PaintListener 인 BorderPainter를 추가해야합니다. 위의 행 798의 paintBordersFor(.)을 참조하십시오.

jface 양식을 종속성으로 추가하는 것을 권장하지 않습니다. 국경 화가 - 너무 무거운 무게. 하지만 그 코드가 도움이 될 것입니다.

+7

링크가 끊어졌습니다. – Mot

2

레이블에 PaintListener를 추가하십시오. 이 Listener의 paintControl 메소드에서 생성 된 이벤트의 GC를 가져 와서 레이블과 동일한 모양의 사각형을 그립니다.

실제로 라벨 위에 아무 것도 그릴 수 없습니다.

관련 문제