[Applet] Impossible à lancer
Bonjour,
Je viens de créer ma première applet JAVA en suivant la FAQ de DVP ...
Mais il est impossible d'éxécuter mon applet ...
Le code est très simple, je lis une image passée en paramètre, et je l'affiche redimensionnée dans l'applet. C'est TOUT !
L'image est appelée grace à php ... Voici comment je l'appelle :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php
function afficheImage($img_src,$img_w){
if(file_exists($img_src)){
// Lit les dimensions de l'image
$size = GetImageSize($img_src);
$width = $size[0];
$height = $size[1];
$scale = $width / $height;
$goodWidth = $width;
$goodHeight = $height / $scale;
echo "<applet code='ChargeImage.class' width='".$goodWidth."' height='".$goodHeight."'>";
echo " <param name='IMAGE' value='".$img_src."'>";
echo "Votre navigateur n'est pas compatible JAVA !";
echo "</applet>";
}else{
echo "Le fichier ".$img_src." n'existe pas !";
}
}
?> |
Cela revient a faire ca en HTML pour tester :
Code:
1 2 3 4
| <applet code='ChargeImage.class' name="ChargeImage" width='150' height='150'>
<param name='IMAGE' value='pages/test.png'>
Votre navigateur n'est pas compatible JAVA !
</applet> |
Avec ce code, l'applet reste vide et l'erreur est "Class not found" ...
Voici mon applet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| import java.applet.Applet;
import java.awt.Color;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.awt.image.ImageProducer;
import java.awt.image.ReplicateScaleFilter;
public class ChargeImage extends Applet implements Runnable {
Thread tr;
private static final long serialVersionUID = 1L;
// Buffer pour l'imageO de fond
Image imageO;
Image imageR;
// MediaTracker, pour suivre le chargement des images
MediaTracker mt = null;
// --------------------------------------------------
// INITIALISATION DE L'APPLET
// --------------------------------------------------
public void init() {
// Couleur de fond de l'applet en blanc
setBackground ( Color.white );
// Chargement de l'imageO de fond
imageO = getImage ( getCodeBase () , getParameter ( "IMAGE" ).toString () );
// Initialiser le MediaTracker
mt = new MediaTracker ( this );
// Démarrer le suivi du chargement d'images
mt.addImage ( imageO , 0 );
// Attendre que toutes les images soient chargées
try {
mt.waitForID ( 0 );
//ImageFilter replicate = new ReplicateScaleFilter( imageO.getWidth( this ) / 2,imageO.getHeight( this ) / 2 );
ImageFilter replicate = new ReplicateScaleFilter ( this.getWidth () , this.getHeight () );
ImageProducer prod = new FilteredImageSource ( imageO.getSource () , replicate );
imageR = createImage ( prod );
mt.addImage ( imageR , 1 );
mt.waitForID ( 1 );
} // end try
catch ( InterruptedException e ) {
} // end catch
} // end init()
// --------------------------------------------------
// AFFICHAGE
// --------------------------------------------------
public void paint( Graphics g ) {
g.drawImage ( imageR , 0 , 0 , this );
} // end if
} // end paint()
public ChargeImage() {
if (tr == null) {
tr = new Thread(this);
tr.start();
}
}
public void run() {
// TODO Raccord de méthode auto-généré
}
} // end ChargeImage |
Voyez vous le soucis ?
Merci a vous !!!