IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Intégration d'applet en php


Sujet :

Applets Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Intégration d'applet en php
    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

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Points : 131
    Points
    131
    Par défaut
    L'applet s'affiche t'elle ? Je ne suis pas sur que tu puisses accéder a C:\ lorsque tu passes par un serveur web ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse, je ne sais pas exactement pourquoi, mais maintenant ça marche XD

    J'arrive à récupérer les images de la BD et à les afficher, maintenant il me reste plus qu'à mettre en page.

    La seule chose que j'ai fait c'est modifié les paramètres d'upload des fichiers dans php.ini, je sais pas pourquoi mais ça a marché. Y'a que sous IE où l'applet ne s'affiche pas.

    Peut-être que c'est un problème de permission...

    P.S. : Pour le moment je fais des tests, je suis en local avec easyPHP ^^

  4. #4
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour

    Qu'as-tu modifié exactement dans le php.ini sur les upload ?, normalement quand tu accèdes aux fichiers locaux il faudra signer ton applet

    Normalement le echo php que tu faisais n'avait rien de mal surtout que ça devrait générer du HTML vu qu'il y avait pas de différence, pourquoi utilises des balises php?

    Cordialement
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.

    Dans le php.ini, j'ai changé la taille d'upload max des images.

    J'ai pas compris ce que tu veux dire par signer un applet ?

    J'utilise des balises php, parce qu'en fait je vais chercher les images à afficher dans une base de données. Je connais pas grand chose aux applets alors je fais avec php.

    Par contre j'ai cherché un peu sur le net, pour savoir comment récupérer un paramètre venant de l'applet, mais j'ai pas trouvé quelque chose de compréhensible XD.

    En fait je voudrais qu'à chaque fois que je change d'image, l'applet renvoie à la page php, quelle image est actuellement affichée pour pouvoir afficher la description qui lui est associée. Est ce que qqn sait comment faire ?

    Je peux reposter mes codes de manière plus claire si vous voulez.

Discussions similaires

  1. [PayPal] Intégration complète en PHP
    Par HALOMOTO dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 24/01/2010, 20h19
  2. Intégration de JSP et PHP ?
    Par abderahime_13 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/02/2007, 13h56
  3. Réponses: 6
    Dernier message: 04/02/2007, 09h55
  4. Réponses: 2
    Dernier message: 01/12/2006, 20h55
  5. [PHP-JS] Intégration code Javascript dans PHP
    Par tilou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/04/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo