2011-10-11 2 views
1

Je travaille avec une application qui rencontre des problèmes de peinture sur certains ordinateurs d'utilisateurs lorsque la souris passe sur les onglets dans un JTabbedPane. Ils ont également parfois des problèmes similaires sur d'autres composants interactifs comme JButton s. J'ai seulement vu cette erreur se produire sur les souris.JTabbedPane mouseover paint problème

L'application est en cours d'exécution avec 1.6.0_20 et j'ai déjà essayé le drapeau recommandé dans la mise à jour 10 au cas où il y avait un problème avec D3D (-Dsun.java2d.d3d = false).

Depuis que je suis un nouvel utilisateur, je ne peux pas poster une image pour illustrer cette erreur. Le meilleur exemple que je puisse penser est l'utilisation de Windows peinture gomme sur une image créerait quelque chose de similaire à ce que je vois.

J'apprécie toute aide que vous pouvez fournir.

Répondre

1

Sans sscce qui présente le problème que vous décrivez, il est difficile d'être précis, mais cela me fait penser à l'artefact de rendu associé à définir la propriété opaque à true sans rendre complètement la zone définie par les limites d'un composant. En particulier, si vous remplacez paintComponent() et "n'honorez pas la propriété opaque, vous verrez probablement des artefacts visuels". Enfin, le paramètre d'opacité par défaut de certains composants varie selon l'aspect & Feel, de sorte que l'effet peut dépendre de la plate-forme.

+0

Merci pour votre réponse. Malheureusement, je ne peux pas fournir un exemple de code. Je ne peux même pas le reproduire moi-même. J'ai hérité de l'application et j'ai couru dans de nombreux cas où paintAll a été appelé encore et encore, mais seulement une fois où la peinture a été remplacée. J'ai essayé d'en éliminer autant que possible au cas où ils seraient les coupables. L'erreur pour les utilisateurs qui expérimentent cela semble être sur n'importe quel composant où la souris sur modifie les graphiques. IE, passer la souris sur un onglet dans un volet à onglets ou passer la souris sur un bouton. – shinds