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. 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: - p> p> 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. P> p>
3 Réponses :
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. p>
Exactement ce que j'ai besoin .. Merci beaucoup monsieur!
Votre résultat n'est pas inattendu, car le graphiques2d code> composite em> est
alphacomposite.src_over code>
. Si vous voulez un résultat différent, vous devrez utiliser un mode différent. alphacomposite.src code>
, par exemple, est pas em> additif. Les exemples connexes peuvent être trouvés ici , Ici et ici . P>
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. P>