2014-07-07 2 views
0

나는 그림 캔버스의 그라디언트 배경을 그려보고 싶습니다. 불행히도 Composite 또는 similars에서 작동하는 코드는 내 FigureCanvas에서 작동하지 않습니다. 내 컴포지트에 완벽한 그라데이션 배경을 만드는 경우 단순히 하나의 색을 내 그림 캔버스의 배경으로 배치합니다.나는 figureCanvas에 대한 그라디언트 배경을 Java로 그릴 수 있습니다.

다른 모든 컨트롤과 함께 작동하는 방법은 다음과 같습니다.

Rectangle rect = parent.getClientArea(); 
Image newImage = new Image(parent.getDisplay(), 1, Math.max(1, 
rect.height)); 
GC gc = new GC(newImage); 
gc.setForeground(composite.getDisplay().getSystemColor(SWT.COLOR_WHITE)); 
gc.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_BLUE)); 
gc.fillGradientRectangle(0, 0, 1, rect.height, true); 
gc.dispose(); 
composite.setBackgroundImage(newImage); 

내가 여기에 뭔가가 없습니까? 또는 덮어 쓰거나 확장하지 않고서는 불가능합니다 (만약 그렇다면 무엇입니까?)? 나는 또 다른 Composite가 가지고있는 것과 같은 backgroundImage를 사용하여 시도했다.

답변 해 주셔서 감사합니다.

답변

0

이 문제는 FigureCanvas 자체가 아니라 다른 곳에서 겹쳐 쓰는 GEF로 드러났습니다.

관련 문제