大家都知道当一个字符串在界面显示不完全的时候会跳出一个小框显示完整版本的文字,但是现在我想禁止这种功能,因为我需要响应mousehover事件自己显示一个类似的,功能更多的框,但是如果出现文字显示不完全的情况,swt就会显示完整文字框,而对mousehover事件不做响应,我应该怎么做呢

解决方案 »

  1.   

    tree.addMouseTrackListener(new MouseTrackAdapter(){
    public void mouseHover(MouseEvent e) {
    Point p=new Point(e.x,e.y);
    TreeItem item=tree.getItem(p);
    if(item!=null){
    if(item.getBounds(DESCRIPTION_COLUMN).contains(p)){
    Rectangle rect=item.getBounds(1);
    Point point=tree.toDisplay(rect.x,rect.y);
    GuiTools.openFloat(item.getText(DESCRIPTION_COLUMN),
                                                                                  new Rectangle(point.x,
                                                                                                          point.y,
                                                                                                          rect.width,
                                                                                                          rect.height));
    }
    }
    }});
      

  2.   

    就是对MouseHover注册了一个listener,不知道怎么会出这个问题