2010-07-23 7 views
0

J'ai mis un navigateur SWT sur ma machine Windows 7 comme suit:navigateur SWT ne défile pas

Browser browser; 
try { 
    browser = new Browser(parent, SWT.NONE); 
    browser.setUrl(url); 
} catch (final SWTError e) { 
    System.out.println(e); 
} 

naviguer vers une page qui contient le code source suivant:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<body> 
    <div style="overflow:scroll;position:fixed;width:300px;height:300px;"> 
     <div style="height:1000px;">SWT won't scroll in this div</div> 
    </div> 
</body> 
</html> 

Il apparaît magnifiquement en utilisant un cadre Internet Explorer 8 pour rendre le contenu. Maintenant, voici où les choses deviennent étranges: en utilisant ma molette, le défilement se produit par intermittence. Après un ou deux tours (parfois plus, cela semble aléatoire), la page arrête de défiler un peu.

Si la sortie I l'événement de défilement SWT, tous les événements de défilement sont émis, même lorsque le navigateur ne répond pas à eux

browser.addMouseWheelListener(new MouseWheelListener() { 
    public void mouseScrolled(final MouseEvent e) { 
     System.out.println(e); 
    } 
}); 

La question de défilement se produit également sur une autre machine Windows Vista, et se produit uniquement dans divs avec style="position:fixed;overflow;scroll;height:300px;width:300px;". Sur Mac, cependant, ce n'est pas le cas.

Il semble que le coupable est Internet Explorer 8, ou quelque chose entre SWT et le navigateur. Est-ce que quelqu'un d'autre a rencontré cela? Des idées?

Répondre

0

Il me semble que c'est un bug dans SWT. J'ai ouvert bug #321167.

Questions connexes