2011-10-10 2 views
2

캔버스에 그라디언트를 그려 AbsolutePanel에 추가하려고합니다. 따라서 그라데이션 벡터를 정의하기 위해 absolutePanel의 너비와 높이가 필요합니다. 그러나 이벤트를 RootLayoutPanel에 AbsolutePanel (너비가 100 %로 설정된 DockPanel의 북쪽 위젯을 통해)에 추가 한 후 setGradient() 메서드를 호출하면 그 너비와 높이가 여전히 0이됩니다. 패널의 치수는 어떻게 얻을 수 있습니까?GWT에서 패널 너비 및 높이 가져 오기

답변

4

getOffsetWidth()getOffsetHeight(을 사용하십시오. 문서는 다음 위치에 있습니다.

Gets the object's offset width in pixels. This is the total width of the object, 
including decorations such as border, margin, and padding. 

메쏘드는 모든 위젯에 공통적으로 적용되는 UiObject로 정의됩니다.

+1

그래, 나도 알아, 난이 방법을 사용하고 0 .. –

+1

어쩌면 당신은 그것이 때까지 기다릴 필요가 레이아웃. 가장 쉬운 방법은 눌렀을 때 버튼을 추가하고 그라데이션을 만드는 것입니다. 그런 다음 작동하면 일부 시간 제한을 설정하거나 "일부"이벤트 처리기 (onload 어쩌면)에서 그라디언트 코드를 실행해야합니다. 창 크기를 조정할 때 Window.addResizeHandler()를 추가하여 그라디언트를 다시 계산할 수도 있습니다. – okrasz

+0

정보를 주셔서 감사합니다. 치수를 가져 오는 데 문제가있을 것이라고 생각했는데 이제 CSS3 그래디언트로 변경되었습니다. :) –

관련 문제