2014-04-10 1 views
2

저는 ToolBar 레이아웃이있는 그림이 있습니다. 레이블을 추가했습니다 (2D 그리기).getChildren()에 의해 GEF에서 중첩 된 숫자 순서 지정

동적으로 다른 그림을 추가해야합니다. 하지만 추가 할 때 레이블이 아래로 이동하고 새로 추가 된 그림이 맨 위에옵니다.

add(IFigure, index) 방법으로 라벨을 추가하려고했지만 인덱스는 0이지만 사용하지 않았습니다!

나는 하단에 내 레이블이 getChilden() 목록에 있음을 확인했습니다. 목록을 다시 주문할 수는 있지만 좋은 생각은 아닙니다.

내가 새로 추가 한 숫자가 항상 맨 아래에 있도록하려면 어떻게해야합니까?

툴바 레이아웃 이외의 다른 레이아웃을 사용할 수 없습니다.

답변

1

add(figure, getChildren().length()을 작성하여 어린이 목록의 끝에 숫자를 추가해야합니다. ToolbarLayour은 목록 순서를 사용하여 수치를 표시하므로이 방법이 효과적입니다. add(figure, 0)을 쓰면 그림이 목록의 첫 번째 것으로 나타나므로 표시되는 동작이 예상됩니다.

+0

add (Label, 0)를 사용하여 레이블을 맨 위에 유지했습니다. 명령을 통해 그림을 동적으로 추가하고 있습니다. 명령은 새 오브젝트의 모델을 목록에 추가합니다. 이 목록은 추가해야하는 모델 만 추가합니다.이 목록은 그림의 일부가 아닌 모델의 일부가 아니므로이 목록에 레이블을 추가하지 않습니다. 그리고이 모델에서는 getChildren()에 액세스 할 수 없습니다. – nullpointer

+0

모델을 기반으로보기의 모양을 관리하려면보기에있는 자식 수를 어떻게 든 처리해야합니다. 이것은 최선의 방법은 아니지만 할 수있는 다른 방법은 없습니다. – vainolo