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

JavaFX Discussion :

Différence entre JFileChooser et FileChooser


Sujet :

JavaFX

  1. #1
    Membre éclairé Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Par défaut Différence entre JFileChooser et FileChooser
    Bonjour a tous,

    voila je suis entrain de développer un lecteur vidéo en JavaFX et je rencontre un problème.

    En regardant les divers sources se trouvant sur internet j'ai vu que certains utilisaient l'ancien "JFileChooser" et que d'autre utilisaient celui de JFX.

    Celui de JavaFX est quand même plus joli que l'ancien, alors quand j'ai développé ma fonction de chargement de fichier j'ai utilisé "FileChooser".

    Ici probème :

    code avec JFileChooser (lecture de la musique OK)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    JFileChooser search = new JFileChooser();
    search.showDialog(search, URL);
      URL = search.getSelectedFile().toURI().toString();
    System.out.println("URL :"+URL);
    code avec FileChooser (lecteur de la musique FAIL)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    System.out.println("File chooser opened");
    FileChooser fileChooser = new FileChooser();
       file = fileChooser.showOpenDialog(primaryStage);
        String URL = file.getAbsoluteFile().toURI().toString();
    System.out.println("URL :"+URL);
    Ces deux codes retournent la même chose ("URL :"+URL), mais le lecteur ne lis la musique qu'avec la premiere version ! (JFC).

    Quelqu'un peut il éclairer ma lanterne ? Merci !

  2. #2
    Membre éclairé Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Par défaut
    Bonjour,


    en fait je me suis rendu compte que ce lecteur de media javaFX ne peut strictement rien lire d'autre que son lien en dur dans le code sample en .FLV.
    Donc j'abandonne, c'est vraiment inquiétant en 2012 de fournir une telle techno !

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Beuh, nonobstant les problèmes de support de format de fichier, du moment que le chemin absolu du fichier est le même, je ne comprends pas trop pourquoi l'URL retournée différerait en quoi que ce soit.

    Faudrait que j'écrive un test mais j'ai que du MP3 sous la main (pas de FLV)
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre éclairé Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Par défaut
    Bonjour Bouye,

    mais c'est ce que je dis ! Dans la console les deux méthodes affichent exactement la même chose, mais il n'y a que celle utilisant le JFC qui lit la musique !! Ave du mp3 cela fonctionne, mais pour les vidéos ( avi, mpg.. non ).

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Chez moi ça ça marche (avec des MP3)

    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
     
    package test;
     
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ToolBar;
    import javafx.scene.control.ToolBarBuilder;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.layout.BorderPaneBuilder;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaBuilder;
    import javafx.scene.media.MediaPlayer;
    import javafx.scene.media.MediaPlayerBuilder;
    import javafx.stage.FileChooser;
    import javafx.stage.FileChooserBuilder;
    import javafx.stage.Stage;
     
    /**
     *
     * @author Fabrice
     */
    public class Main extends Application {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            launch(args);
        }
        private MediaPlayer mediaPlayer;
     
        @Override
        public void start(final Stage primaryStage) {
            primaryStage.setTitle("Media Test");
            Button loadButton = new Button();
            loadButton.setText("Open..");
            loadButton.setOnAction(new EventHandler<ActionEvent>() {
     
                @Override
                public void handle(ActionEvent event) {
                    FileChooser dialog = FileChooserBuilder.create().build();
                    File file = dialog.showOpenDialog(primaryStage);
                    if (file == null) {
                        return;
                    }
                    if (mediaPlayer != null) {
                        mediaPlayer.stop();
                        mediaPlayer = null;
                    }
                    try {
                        URL mediaURL = file.toURI().toURL();
                        Media media = MediaBuilder.create().source(mediaURL.toExternalForm()).build();
                        mediaPlayer = MediaPlayerBuilder.create().media(media).build();
                        mediaPlayer.play();
                    } catch (MalformedURLException mURLe) {
                        mURLe.printStackTrace();
                    }
                }
            });
            ToolBar toolBar = ToolBarBuilder.create().items(loadButton).build();
            BorderPane contentPane = BorderPaneBuilder.create().top(toolBar).build();
            primaryStage.setScene(new Scene(contentPane, 300, 250));
            primaryStage.show();
        }
    }
    Ouf le son de JavaFX est plutôt élevé par rapport à iTunes, je me suis explosé les tympans en choisissant mon morceau de musique.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Ok... donc faut que je teste avec des vidéo désormais
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Aucun problème pour lire du MP4. Comme j'ai dis, j'ai pas de FLV sous la main.

    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
     
    package test;
     
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javafx.application.Application;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ToolBar;
    import javafx.scene.control.ToolBarBuilder;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.layout.BorderPaneBuilder;
    import javafx.scene.media.*;
    import javafx.stage.FileChooser;
    import javafx.stage.FileChooserBuilder;
    import javafx.stage.Stage;
     
    /**
     *
     * @author Fabrice
     */
    public class Main extends Application {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            launch(args);
        }
        private final ObjectProperty<MediaPlayer> mediaPlayer = new SimpleObjectProperty<>(this, "mediaPlayer", null);
        public final void setMediaPlayer(MediaPlayer value) {
            mediaPlayer.set(value);
        }
        public final MediaPlayer getMediaPlayer() {
            return mediaPlayer.get();
        }
        public final ObjectProperty<MediaPlayer> mediaPlayerProperty() {
            return mediaPlayer;
        }
     
        @Override
        public void start(final Stage primaryStage) {
            primaryStage.setTitle("Media Test");
            Button loadButton = new Button();
            loadButton.setText("Open..");
            loadButton.setOnAction(new EventHandler<ActionEvent>() {
     
                @Override
                public void handle(ActionEvent event) {
                    FileChooser dialog = FileChooserBuilder.create().build();
                    File file = dialog.showOpenDialog(primaryStage);
                    if (file == null) {
                        return;
                    }
                    MediaPlayer mediaPlayer = getMediaPlayer();
                    if (mediaPlayer != null) {
                        mediaPlayer.stop();
                        setMediaPlayer(null);
                    }
                    try {
                        URL mediaURL = file.toURI().toURL();
                        Media media = MediaBuilder.create().source(mediaURL.toExternalForm()).build();
                        mediaPlayer = MediaPlayerBuilder.create().media(media).build();
                        mediaPlayer.play();
                        setMediaPlayer(mediaPlayer);
                    } catch (MalformedURLException mURLe) {
                        mURLe.printStackTrace();
                    }
                }
            });
            ToolBar toolBar = ToolBarBuilder.create().items(loadButton).build();
            MediaView mediaView = MediaViewBuilder.create().build();
            mediaView.mediaPlayerProperty().bind(mediaPlayerProperty());
            BorderPane contentPane = BorderPaneBuilder.create().top(toolBar).center(mediaView).build();
            primaryStage.setScene(new Scene(contentPane, 300, 250));
            primaryStage.show();
        }
    }
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Si cela fait pareil ici, alors ça serait lié au fait que charger Swing en plus de FX, charge d'autres libs permettant la prise en charge des média ??
    Dans ce cas, je pense que ça mériterait un rapport de bugs sur le Jira. Euh, enfin je crois ; à moins que ça ne soit une "feature"
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 896
    Billets dans le blog
    54
    Par défaut
    Donc, j'ai téléchargé une de mes propres vidéo YouTube en FLV, effectivement comme prévu* pas de vidéo, mais le son marche. Et chez moi (Java 1.7.0_04 64 et JavaFX beta 2.2 beta08), c'est pareil avec FileChooser ou JFileChooser (son mais pas vidéo).

    *http://docs.oracle.com/javafx/1.3/tu...formats/#audio
    http://www.oracle.com/technetwork/ja...1446554.html#7
    On2 VP6 pour Flash pour JavaFX contre Sorenson Spark pour YouTube
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    Membre éclairé Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Par défaut
    Merci bouye pour ta contribution, je vois que tu n'a pas fait exactement comme moi, ( FileChooserBuilder ), je vais voir si cela fonctionne mieux. Je n'ai pas testé avec du mp4 je vais essayer, merci.

    Sur mon lecteur j'ai mis un curseur de volume comme ca pas de problème !

  11. #11
    Membre éclairé Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Par défaut
    Moi j'ai JDK 1.7.0_03 , et JavaFX 2.0 , je vais me mettre à jour .

    Edit : NetBeans mis a jour ( 7.1.2) + JavaFX 2.2 , il lit désormais les MP4 sans le son mais cela doit etre mes codecs peut etre. En tout cas je peux utiliser le fileChooser que je souhaitait merci

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 5
    Dernier message: 11/12/2002, 12h31
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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