2010-04-04 3 views
1

사용자가 내 ScrollPanels 중 하나에서 스크롤 막대를 놓을 때를 감지 할 수있는 GWT 앱을 만들고 있습니다.GWT에서 스크롤바 놓기 이벤트를 감지 할 수 있습니까?

내 경우에는 가로 스크롤 막대가 시간을 나타내는 경우입니다. 스크롤 가능한 시간의 전체 범위를 나타내는 것은 불가능하기 때문에 스크롤 막대를 사용하여 작은 시간 창을 표시하려고합니다. 사용자가 스크롤 막대를 이동하고 놓을 때 나는 새로운 중심이 해제 지점 인 부드러운 다시 센터를 만들고 싶습니다.

사용자 지정 스크롤 막대 위젯을 작성하여이를 수행하는 방법을 알아낼 수는 있지만 "네이티브"스크롤 막대를 먼저 사용하여이를 수행 할 방법이 없는지 확인하고 싶습니다.

답변

2

ScrollPanel으로 사용자가 직접 ScrollHandler을 구현할 수 있습니다. addScrollHandler() 메서드를 사용하면 필요한 모든 기능을 재정의 할 수 있어야합니다.

그러나 귀하의 접근 방식을 다시 생각해 보시기 바랍니다. 당신이 정말로 원하는 것은 시간을위한 슬라이더 컨트롤입니다. 스크롤 막대처럼 보입니다. Composite 클래스와 Widget Gallery을 확인하여 더 필요한 항목에 맞는 위젯 조합이 있는지 확인해야합니다. 그렇지 않으면 SmartGWT도 보게됩니다. GUI Widgets의 매우 광범위한 라이브러리를 사용할 수 있으며, 이미 사용할 수있는 것을 찾을 수 있습니다.

+0

감사합니다. "그냥 addScrollHandler() 메서드를 사용하면 필요한 기능을 무시할 수 있어야합니다." API의이 부분을 살펴 보았습니다. 스크롤바 릴리스를 감지하는 방법이 있다면 그것은 나에게 명확하지 않습니다. (서식 용으로 편집 됨) – Keith

+0

ScrollHandler의 onScroll() 메서드에서 ScrollEvent를 매개 변수로 사용합니다. getAssociatedType()이라는 메소드가 있습니다. 연결된 DomEvent에는 getName()이라는 메서드가 있습니다. 시도해 봐. 그러나 나는 아직도 문제에 대한 접근 방식을 다시 생각해야한다고 생각합니다. – adam

+0

필자는 예제를 작성 했으므로 출시시 ScrollEvent가 발생하지 않는다는 것을 알았습니다 (이벤트는 스크롤 막대가 움직일 때만 발생합니다 ... 적어도 Safari에서는이 사실이 사실입니다). 접근 방식을 다시 생각해 보면서 저는 디자인과 개발의 초기 단계에 있으며 모든 UI 결정을 다시 평가할 계획입니다. 어쨌든 이것이 가능한지 아는 것은 가치가 있습니다. 이 시점에서 나는 불가능한쪽으로 기울고있다. 다시 한 번 감사드립니다. – Keith

관련 문제