Bonjour, voilà je souhaite faire une animation en java, qui fait défiler les images quand on clic sur les boutons suivant ou précédents. J'ai donc une classe java et une page web qui donne en paramètre les images à l'applet. Quand je suis en html tout fonctionne.

J'ai essayé de faire passer les paramètres avec une base de donnée donc intégrer mon apllet dans du php et là plus rien ne marche, j'ai essayé avec la balise <applet> et la balise <object>, aucune différence...

Je vous met les codes ci-dessous, si ça peut aider quelqu'un à m'aider :p

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
 * Portfolio.java 22/04/2010 
 */
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
/**
 * @author Evilrider
 * @version 1.0
 * Classe permettant d'afficher les images du portfolio
 * On récupère les informations via la page portfolio.php
 */
public class Portfolio extends JApplet implements ActionListener {
 
	/** Tableau qui contiendra les photos à afficher */
	private Image[] photos ;
 
	/** Panneau qui contiendra les boutons d'actions du portfolio */
	private JPanel panBtn;
 
	/** Panneau qui contiendra les images du portfolio */
	private JPanel panImg;
 
	/** Indice permettant de savoir quelle image on doit afficher */
	private int indice;
 
	/** Boutons d'actions permettant de faire défiler les images */
	private JButton btnSuivant;
	private JButton btnPrecedent;
 
 
	/** 
     * Méthode d'initialisation appelée quand le navigateur lancera l'applet
     */
    public void init() {
 
    	//On récupère la taille du tableau d'images
    	String nbImages = getParameter("nbImages");
 
    	//On convertit la chaîne de caractère en int
    	int nb_images = Integer.parseInt(nbImages);
 
    	//On définit un gestionnaire de mise en page pour l'applet
    	setLayout( new FlowLayout() );
 
    	//On définit la taille de l'applet
    	setSize(300, 325);
 
    	//On fixe la taille du tableau d'images
    	photos = new Image[nb_images];
 
    	//On enregistre la première photo
    	indice = 1;
 
    	while ( indice - 1 < nb_images ){
    		//On ajoute une image venant de la page Portfolio.php au tableau d'image
    		photos[indice - 1] = getImage( getCodeBase(), ""+getParameter("image"+indice));
    		indice++;
    	}
 
    	//On remet l'indice de parcours à 0 pour afficher la première image
    	indice = 0;
 
        //Initialisation des tableaux
        panBtn = new JPanel( new FlowLayout() );
        panImg = new JPanel( new FlowLayout() );
 
        //On définit la taille des tableaux
        panImg.setPreferredSize( new Dimension( 300, 225) );
        panBtn.setPreferredSize( new Dimension( 300, 100) );
 
        //Initialisation du tableau de bouton
        btnPrecedent = new JButton( "Précédent" );
        btnSuivant = new JButton("Suivant");
 
        //On ajoute un écouteur sur les boutons
        btnPrecedent.addActionListener(this);
        btnSuivant.addActionListener(this);
 
        //Ajout des boutons au tableau
        panBtn.add(btnPrecedent);
        panBtn.add(btnSuivant);
 
        //Ajout des tableaux à l'applet
        add(panImg);
        add(panBtn);
 
        //On rend l'applet visible
        setVisible(true);
    }
 
 
    /**
     * la méthode paint est appelée automatiquement par le navigateur
     * elle permet d'afficher les images contenues dans l'applet
     * @param g   cet objet encapsule le contexte graphique de l'applet
     */
    public void paint ( Graphics g ) {
    	//On fait un appel au super constructeur pour éviter les bugs
    	super.paint(g);
    	//On dessine la photo souhaitée
        g.drawImage ( photos[indice] , 0, 0, this ) ;
    }
 
	@Override
	public void actionPerformed(ActionEvent ev) {
		if ( ev.getSource() == btnPrecedent ){
			//On a cliquez sur précédent
			if ( indice == 0 ){
				//On est sur la première image, on veut afficher la dernière
				indice = photos.length - 1;
			} else {
				//On veut afficher l'image précédente
				indice --;
			}
		} else if ( ev.getSource() == btnSuivant ){
			//On a cliquez sur suivant
			if ( indice == photos.length - 1 ){
				//On est sur la dernière image, on veut afficher la première
				indice = 0;
			} else {
				//On veut afficher l'image suivante
				indice ++;
			}
		}
		//On affiche la nouvelle image
		repaint();
	}
}
Et la page html simple qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<html>
	<head>
		<title> Applet pour afficher une image </title>
	</head>
	<body> 
		<applet codebase = "file:///C:\Users\Yoan\Documents\test" code="Portfolio" width="350" height="350"> 
			<param name = "nbImages" value = "1">
			<param name = "image1" value = "upload/artgun.jpg">
		</applet>
	</body> 
</html>
Maintenant quand j'essaie de mettre du php ça pars complétement en sucette :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
	<head>
		<title> Applet pour afficher une image </title>
	</head>
	<body>  
 
		<?php
 
			echo "<applet codebase = \"file:///C:\Users\Yoan\Documents\test\" code = \"Portfolio\" width = \"350\" height = \"350\">
				<param name = \"nbImages\" value = \"1\">
				<param name = \"image1\" value = \"upload/artgun.jpg\">
			</applet>";
		?>
 
	</body> 
</html>
Il n'y a pourtant pas beaucoup de différence, est ce qu'il y a une balise spéciale pour intégrer un applet en php ? J'ai déjà tester avec <object> mais peut-être que je l'ai mal utilisé...

Need help please :p