6
votes

Swing: Souris en vol stationnaire sur l'étiquette du bouton radio sur le translucide JPanel

Dans mon problème, j'ai un JPANEL opaque et un autre JPANEL translucide (semi-transparent) qui repose sur le premier JPanel. Lorsque j'ai ajouté des boutons radio sur le haut JPANEL. Le problème est chaque fois que je saisi la souris sur la zone de l'étiquette de chaque bouton radio (et chaque fois que je déplace la souris à l'écart de l'étiquette), il devient plus sombre et plus sombre. XXX

Je crois Ce n'est pas un problème avec les boutons radio car, dans une autre occasion, j'ai observé que dans les mêmes conditions, si j'étais ajouté un jlabel au sommet JPanel et ajoute des auditeurs au panneau supérieur afin que la couleur du texte de Jlabel puisse changer lorsque La souris est survolée et réinitialisée à la couleur orginale lorsque la souris sort, le texte est redessiné dans des endroits différents comme dans l'image ci-dessous: -

 http://s13.postimage.org/6yn3cw48n/untitled.png

Si nécessaire, je posterai ce code aussi. Je pense que c'est le même problème qui est là dans les deux cas.


0 commentaires

3 Réponses :


8
votes

Vous obtenez ces artefacts de peinture probablement à cause de la couleur transparente utilisée pour un arrière-plan. Les JComponents ne prennent pas en charge les couleurs transparentes comme couleurs d'arrière-plan. Voici un bon Article par @camickr qui explique en détail la question et fournit également une solution alternative.


1 commentaires

Exactement ce que j'ai besoin .. Merci beaucoup monsieur!



4
votes

Votre résultat n'est pas inattendu, car le graphiques2d composite est alphacomposite.src_over . Si vous voulez un résultat différent, vous devrez utiliser un mode différent. alphacomposite.src , par exemple, est pas additif. Les exemples connexes peuvent être trouvés ici , Ici et ici .


0 commentaires

1
votes

au lieu d'utiliser le rouge, le vert, le bleu et l'alpha, par exemple: Set de recul (Nouvelle couleur (236, 233, 216, 220)); Utilisez le terrain de recul (nouvelle couleur (236, 233.216)); qui est rouge, vert, bleu. Cela fonctionnera parfaitement.


0 commentaires