我利用swt制作了,一个tree,利用
- Java code
tree.addListener(SWT.MouseDoubleClick, new Listener() { @Override public void handleEvent(Event ar) { Point point=new Point(ar.x, ar.y); TreeItem item=tree.getItem(point); String itemText=item.getText().trim(); } });
获取我鼠标双击事件时treeitem的文本信息,我的tree内容比较多,所以当所有节点都点开时会使树下端信息被容器遮挡,所以我把tree的高度设小,这样点开始便又了滚动条解决此问题,随之而来的问题便是当我点击某一个节点时,由于此节点存在节点较多,所以滚动条出现,这样导致了我点击的这个节点和顶部位置不对应,point获得的x和y值也就不对应了,以至于找不到此节点item了,请问怎么解决?有没有什么方法能够不用Point这种方法或得到我点击的这个treeitem呢?
这是普通的节点未点开状态:
这是普通节点点开状态:
这时出现的节点点开状态:位置变化获取不到了:
------解决方案--------------------
用tree的getSelection方法获取啊、