2009-08-20 6 views
1

GWT와 gwt-dnd addon을 사용하여 텍스트를 평가하는 MultiSlider 위젯을 만들었습니다. 스크린 샷에서 값 50이 슬라이더 바깥으로 드래그 된 슬라이더 버튼을 볼 수 있습니다. 막대 바깥에 떨어 뜨릴 수는 없지만 바깥으로 끌 수 있습니다.GWT DnD : AbsolutePanel 내에서 계속 드래그 가능

alt text http://lt3.hogent.be/hendi_docs/stackoverflow/gwt-dnd-multislider.png

항상 슬라이더 막대 내부의 슬라이더 버튼을 유지하는 GWT의 방법이 있나요?

EDIT :

슬라이더 바는 AbsolutePanel이며, 또한 슬라이더 버튼 유일한 DropTarget에있다. 슬라이더 막대 패널은 드롭 컨트롤러의 경계 패널이기도합니다. 막대 패널 바깥 쪽에서 떨어 뜨릴 수는 없지만 끄는 것은 가능합니다.

이제 마우스 포인터를 막대 패널에 유지하는 것이 가능한지 정말 알고 싶습니다. 버튼을 드래그하여 꺼내면 드롭 할 때 이전 위치로 유지됩니다 (그래도 괜찮습니다). 수직 DRAGGING 만 허용 할 수 있습니까? 드래그하는 동안 마우스 위치를 설정할 수 있습니까?

답변

2

나는 dragController.setConstrainWidgetToBoundaryPanel(true)을 사용했으며, dragController.setBehaviorConstrainedToBoundaryPanel(true)은 똑같은 작업을한다고 생각합니다. 자세한 내용은 javadoc for your version을 확인하십시오.

+0

슬라이더를 떨어 뜨린 후에 막대에 슬라이더를 유지합니다. 슬라이더 버튼을 드래그하는 동안 막대 내에 유지하고 싶습니다. 예 : 마우스의 X 위치를 설정합니까? – pvoosten

+0

죄송합니다. 주변 패널을 경계 패널로 사용했습니다. 이제 솔루션이 작동합니다. 감사! – pvoosten

1

찾고있는 방법은이 서명이있는 AbstractDragController에 정의되어 있습니다. void setBehaviorConstrainedToBoundaryPanel (boolean constrainedToBoundaryPanel);

이 경우 경계 패널 (종종 드래그 컨트롤러 생성자에 첫 번째 매개 변수로 전달됨)은 슬라이더를 래핑하는 AbsolutePanel이어야합니다.

예상대로 작동하지 않는 경우 절대 패널을 시각화하는 것이 유용 할 수도 있습니다. absolutePanel.getElement(). getStyle(). setProperty ("border", "1px dashed red");

관련 문제