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

Agents de placement/Fenêtres Java Discussion :

Insérer un swf flash dans un JPanel Java


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut Insérer un swf flash dans un JPanel Java
    Bonjour ,

    je souhaite intégrer une animation flash à un JPanel, j'ai pas mal cherché et j'ai trouvé DJ Project qui semble etre le projet open source le plus mis a jour sur le sujet. Est ce bien le cas? Existe-t-il d'autre méthode?

    J'ai donc essayé DJ Project mais j'ai l'erreur suivante que je ne comprends pas.

    Mon code :
    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
     
    ...
    import chrriis.dj.nativeswing.swtimpl.components.JFlashPlayer;
     
    public class Fenetre extends JFrame{
        private JScrollPane scrollPaneFrameCentre = new JScrollPane();
        private JPanel centre = new JPanel();
     public Fenetre(){
            this.setTitle("Titre");
            this.setLocationRelativeTo(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            try {
                initComponent();
            } catch (SQLException ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.getContentPane().add(scrollPaneFrameCentre, BorderLayout.CENTER);
            this.setSize(new Dimension(700,700));
            this.setVisible(true);
         }
     
        private void initComponent() throws SQLException {
            //Gestion de la partie principale
            try {
                JFlashPlayer flashPlayer = new JFlashPlayer();
                flashPlayer.load(getClass(), "E:/tmp/test.swf");
                centre.add(flashPlayer);
            } catch (Exception ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            scrollPaneFrameCentre = new JScrollPane(centre);
        }
    L'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run:
    2010-09-23T08:54:19.434+0000  SEVERE  null
    java.lang.RuntimeException: Uncompilable source code
            at graphique.Fenetre.initComponent(Fenetre.java:93)
            at graphique.Fenetre.<init>(Fenetre.java:55)
            at graphique.Main.main(Main.java:33)
     
    BUILD SUCCESSFUL (total time: 6 seconds)
    Si vous avez une idée qui m'aiderai

    merci !!

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,
    tu peux voir mon article sur l'API JFlashPlayer

  3. #3
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Bonjour et merci de ce retour !! Désolé de répondre si tard mais je n'avais pas vu la réponse avant.

    Mon souci par rapport a cette solution est la compatibilité pour les environnements mac et linux. Car si j'ai bien compris cette librairie n'est compatible que pour windows. Est ce correct ? Existe-t-il des solutions multi plateforme?

    Merci

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ouais, le DJProject qui se base sur les composants SWT pour les intégrer à Swing, ce que tu disais en premier lieu.

  5. #5
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Citation Envoyé par bankette Voir le message
    Mon code :
    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
     
    ...
    import chrriis.dj.nativeswing.swtimpl.components.JFlashPlayer;
     
    public class Fenetre extends JFrame{
        private JScrollPane scrollPaneFrameCentre = new JScrollPane();
        private JPanel centre = new JPanel();
     public Fenetre(){
            this.setTitle("Titre");
            this.setLocationRelativeTo(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            try {
                initComponent();
            } catch (SQLException ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.getContentPane().add(scrollPaneFrameCentre, BorderLayout.CENTER);
            this.setSize(new Dimension(700,700));
            this.setVisible(true);
         }
     
        private void initComponent() throws SQLException {
            //Gestion de la partie principale
            try {
                JFlashPlayer flashPlayer = new JFlashPlayer();
                flashPlayer.load(getClass(), "E:/tmp/test.swf");
                centre.add(flashPlayer);
            } catch (Exception ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            scrollPaneFrameCentre = new JScrollPane(centre);
        }
    L'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run:
    2010-09-23T08:54:19.434+0000  SEVERE  null
    java.lang.RuntimeException: Uncompilable source code
            at graphique.Fenetre.initComponent(Fenetre.java:93)
            at graphique.Fenetre.<init>(Fenetre.java:55)
            at graphique.Main.main(Main.java:33)
     
    BUILD SUCCESSFUL (total time: 6 seconds)
    Je me permet donc de reposter ma question sur l'erreur que j'ai avec DJ project . Suis-je sur le bon forum?

    Merci.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Dans le code que tu nous donne il manque l'accolade de fermeture de la classe.

  7. #7
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Citation Envoyé par bankette Voir le message
    Mon code :
    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
     
    ...
    import chrriis.dj.nativeswing.swtimpl.components.JFlashPlayer;
     
    public class Fenetre extends JFrame{
        private JScrollPane scrollPaneFrameCentre = new JScrollPane();
        private JPanel centre = new JPanel();
     public Fenetre(){
            this.setTitle("Titre");
            this.setLocationRelativeTo(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            try {
                initComponent();
            } catch (SQLException ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.getContentPane().add(scrollPaneFrameCentre, BorderLayout.CENTER);
            this.setSize(new Dimension(700,700));
            this.setVisible(true);
         }
     
        private void initComponent() throws SQLException {
            //Gestion de la partie principale
            try {
                JFlashPlayer flashPlayer = new JFlashPlayer();
                flashPlayer.load(getClass(), "E:/tmp/test.swf");
                centre.add(flashPlayer);
            } catch (Exception ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            scrollPaneFrameCentre = new JScrollPane(centre);
        }
    }
    L'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run:
    2010-09-23T08:54:19.434+0000  SEVERE  null
    java.lang.RuntimeException: Uncompilable source code
            at graphique.Fenetre.initComponent(Fenetre.java:93)
            at graphique.Fenetre.<init>(Fenetre.java:55)
            at graphique.Main.main(Main.java:33)
     
    BUILD SUCCESSFUL (total time: 6 seconds)
    Le problème n'était pas la parenthèse, juste un oubli lors du copier coller de mon code . (corrigé dans la citation de ce message).

    Un autre idée?

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le code suivant marche chez moi:

    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
     
     
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.SwingUtilities;
     
    import chrriis.dj.nativeswing.NativeSwing;
    import chrriis.dj.nativeswing.swtimpl.NativeInterface;
    import chrriis.dj.nativeswing.swtimpl.components.JFlashPlayer;
     
    public class Fenetre extends JFrame {
        private JScrollPane scrollPaneFrameCentre = new JScrollPane();
        private JPanel centre = new JPanel();
     
        public Fenetre() {
            centre.setLayout(new BorderLayout());
            this.setTitle("Titre");
            this.setLocationRelativeTo(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            try {
                initComponent();
            } catch (SQLException ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.getContentPane().add(scrollPaneFrameCentre, BorderLayout.CENTER);
            this.setSize(new Dimension(700, 700));
            this.setVisible(true);
        }
     
        private void initComponent() {
            // Gestion de la partie principale
     
            try {
                JFlashPlayer flashPlayer = new JFlashPlayer();
                flashPlayer.load(getClass(),"/animation.swf");
                centre.add(flashPlayer);
                flashPlayer.play();
            } catch (Exception ex) {
                Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, ex);
            }
            scrollPaneFrameCentre = new JScrollPane(centre);
        }
     
        public static void main(String[] args) {
            NativeSwing.initialize();
            NativeInterface.open();
            SwingUtilities.invokeLater(new Runnable() {
     
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    Fenetre f = new Fenetre();
                }
            });
     
            NativeInterface.runEventPump();
        }
    }
    Il nécessite d'avoir dans son classpath les jars suivant:

    • DJNativeSwing.jar
    • DJNativeSwing-SWT.jar
    • le jar de SWT en version 1.6 (ou supérieure, mais la supérieure n'est pas encore sortie) qui se trouve dans le répertoire lib/swt du zip de DJNativeSwing
    • Les deux jars de JNA contenus dans le répertoire lib/jna du zip de DJNativeSwing

  9. #9
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    merci pour la réponse ....

    Je crois que j'ai un autre souci....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NativeSwing[1]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
    [edit]J'ai compilé avec un JVM 32 bit j'ai pas d'erreur, mais pas d'animation flash dans ma fenetre blanche.[/edit]

    mais de toute façon, les librairies ajoutées sont faites pour windows, je ne serai donc pas compatible mac ou linux est ce correct ?

  10. #10
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Compilé avec un JDK 32 bits et ça marche parfaitement ici.

    As tu bien pensé aux appels à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NativeSwing.initialize();
    NativeInterface.open();
    Au début de ton main, à bien englober le lancement de ton interface graphique dans un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SwinUtilities.invokeLater(Runnable r)
    Puis à appeler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NativeInterface.runEventPump();
    Sinon pour le 64bits il te faudra principalement utiliser le jar SWT approprié (donc la version 64bits)

    Pöur les version linux et mac il te faudra fournir les version linux et mac de SWT...

  11. #11
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Je passe cette discussion en résolu.
    Le code que tu m'as fourni ne fonctionne pas chez moi, mais j'ai une fenetre blanche qui est bien reconnu comme du flash (j'ai les menus flash qd je clique droit dessus.) le problème doit venir de mon coté, je vais d'abord me clarifier les idées sur les thread afin de comprendre ton dernier message, je ne doit pas etre loin de la solution .

    Encore merci en tout cas

  12. #12
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il est possible que tu aies juste mis le swf au mauvais endroit.

    Mets le swf dans un package spécifique de ton appli, genre truc.machin.bidule.anim puis accèdes-y via un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    flashPlayer.load(getClass(),"/truc/machin/bidule/anim/animation.swf");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Intégrer du Flash] Dans une appli Java
    Par kij dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 22/07/2007, 00h17
  2. insérer une page web dans une application java
    Par chabfive dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 03/08/2006, 12h38
  3. Aide pour insérer un fichier flash dans un site web
    Par constitain dans le forum Flash
    Réponses: 2
    Dernier message: 26/07/2006, 22h59
  4. [débutante]Intégrer flash dans une application java
    Par bouba83 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 11/05/2006, 11h11

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