GWT-EXT TREE(Panel)联动滚动条的兑现

GWT-EXT TREE(Panel)联动滚动条的实现。

GWT-EXT中没有找到找到 “scroll” Listener,直接在上面加

treePanel.addListener("scroll", new Function(){

			@Override
			public void execute() {
				MessageBox.alert("test scroll");
			}});
		

 是不会触发scroll的事件的。

 

解决方法:

treePanel.addListener(new PanelListenerAdapter() {
			public void onRender(Component component) {
				treePanel.getBody().addListener("scroll",
						new EventCallback() {
							@Override
							public void execute(EventObject e) {
								int a[] = treePanel.getBody().getScroll();

								Panel ganttPanel = UiManager.panelUIMap.get("ganttPanel");
								
								ganttPanel.getBody().setScrollTop(a[1]);

							}
						});
			}
		});

 必须在

onRender

之后给他Bod上加Listener这样才能响应scroll事件。

联动部分就简单了,首先获取被联动的组件。

Panel ganttPanel = UiManager.panelUIMap.get("ganttPanel");

将当前组件scroll的值 给需要联动的组件,别能实现两者之间的联动。