日期:2014-05-20  浏览次数:20744 次

swt tree获取treeitem值的问题
我利用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方法获取啊、