2010-05-05 48 views
0

J'ai une page web avec une applet à l'intérieur. Cette applet est une cible drop sur une action de glisser-déposer à partir du système d'exploitation, je prends simplement une image à partir d'un dossier, faites-la glisser sur l'applet et quelque chose se passe. Je donne cette page web à un graphiste et lui demande s'il peut mettre une image derrière l'applet java pour qu'il puisse simuler de changer l'arrière-plan en utilisant CSS (c'est une application skinnée et le design graphique peut changer pendant l'exécution) .Comment puis-je définir une transparence d'applet Java pour afficher le contenu derrière elle?

Pratiquement je faire:

<div> 
    <applet width="50" height="50" /> 
</div> 

avec ce CSS:

div { 
    width:50px; 
    height:50px; 
    background-image: url(image.jpg) center center no-repeat; 
} 

Mais il ne fonctionne pas (arrière-plan est opaque).

Il est possible de définir la transparence de l'applet sans perdre les capacités de glisser-déposer.

Je cherche quelque chose de similaire à flash wmode paramètre. De meilleures solutions n'impliquent que des changements sur le CSS/HTML sans recompiler la classe java afin que l'équipe de conception puisse changer la structure de la page sans changer le Java.

Répondre

2

Vous pouvez transmettre l'URL de l'image d'arrière-plan dans l'applet en tant que paramètre ou demander à l'applet d'utiliser JavaScript pour interroger la page afin de déterminer quelle image d'arrière-plan est affichée.

1

Il est impossible de rendre un arrière-plan d'applet transparent, mais vous pouvez utiliser le paramètre alpha de couleur pour définir la transparence des composants de l'applet et obtenir le même arrière-plan que le site Web. paramètre de l'applet. Cependant, si c'est une image, elle ne sera probablement pas alignée comme le site à moins que vous ne le positionniez et que vous ne passiez la partie droite de l'image.

0

Vous pouvez essayer de mettre votre code d'applet dans une balise <td> d'un <table>, et définir la propriété background-color de cette <td> à votre couleur désirée, l'applet sera affiché sous cette couleur seulement.