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 :

Affichage de FileChooser


Sujet :

Applets Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Affichage de FileChooser
    Bonjour ts!

    Voilà, j'ai un problème avec un JFilechooser...
    Explications:
    J'ai un applet et j'aimerais récupérer le nom des fichiers dans un dossier par exemple, mais le showOpenDialog(), apparament, ne marche pas... Aucune boite de dialoue ne s'affiche...
    Voici mon code pour Ouvrir.java:
    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
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
     
         public class Ouvrir extends JFrame implements ActionListener{
     
         private JButton open = new JButton("Selectionner un fichier"); //nouveau bouton open
         private JTextField status = new JTextField("Pas de fichier chargé!"); //nouveau champs de texte
         private JPanel container = new JPanel();
     
         public Ouvrir() {
     
         this.setTitle("Test d'ouverture d'un JFileChooser");
         this.setSize(500, 100);
         this.setLocationRelativeTo(null);       	
     
         status.setEditable(false);
     
         open.addActionListener(this);//ajout d'un actionlistener
         container.setBackground(Color.CYAN); 
         JPanel pane = new JPanel();
         pane.add(status);
         pane.add(open);
         container.add(pane);
         this.setContentPane(container);
         this.setVisible(true);
         }
     
          public void actionPerformed(ActionEvent evt) {
     
         JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser
         //chooser.setApproveButtonText("Choix du fichier..."); //intitulé du bouton
         chooser.showOpenDialog(null); //affiche la boite de dialogue
         if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
    	     {
    	     status.setText(chooser.getSelectedFile().getAbsolutePath()); //si un fichier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte
    	     }
         }
     
     } 
     
     
    et voici le code qui appel cette class à partir de mon applet
     
    	if (evt.getActionCommand().equals("Fichier"))
    		{
    		Open = new Ouvrir();
    		Open.show();
    		}

    Voilà, la frame apparait avec le bouton et le Jtext, mais quand j'appuye sur le bouton rien ne se passe!

    Un peu d'aide serait souhaitée!!

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Points : 62
    Points
    62
    Par défaut Bizarre Bizarre ton problème !!!
    Bonjour je trouve ton problème assez étrange parce que moi j'ai essayé ce code (complètement copier/coller du tiens a part la méthode 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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Ouvrir extends JFrame implements ActionListener {
     
        private JButton open = new JButton("Selectionner un fichier"); //nouveau bouton open
        private JTextField status = new JTextField("Pas de fichier chargé!"); //nouveau champs de texte
        private JPanel container = new JPanel();
     
        public Ouvrir() {
     
            this.setTitle("Test d'ouverture d'un JFileChooser");
            this.setSize(500, 100);
            this.setLocationRelativeTo(null);
     
            status.setEditable(false);
     
            open.addActionListener(this);//ajout d'un actionlistener
            container.setBackground(Color.CYAN);
            JPanel pane = new JPanel();
            pane.add(status);
            pane.add(open);
            container.add(pane);
            this.setContentPane(container);
            this.setVisible(true);
        }
     
        public void actionPerformed(ActionEvent evt) {
     
            JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser
    //chooser.setApproveButtonText("Choix du fichier..."); //intitulé du bouton
            chooser.showOpenDialog(null); //affiche la boite de dialogue
            if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
                status.setText(chooser.getSelectedFile().getAbsolutePath()); //si un fichier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte
            }
        }
     
         public static void main(String args[]){
             new Ouvrir();
         }
    }
    et tout marche très bien chez moi!!
    Par contre je n'ai pas très bien compris à quoi sert ce bout de code
    if (evt.getActionCommand().equals("Fichier"))
    {
    Open = new Ouvrir();
    Open.show();
    }
    si c'est pour ouvrir ton "JFilechooser" je ne vois pas du tout à quoi sert la méthode Open.show().

    Désolé de ne pas pouvoir t'aider plus mais déjà essai de voir si le code que j'ai posté en début de post marche chez toi sinon ... post peut etre un peu plus de code ton applet.

    Bonne journée et geek bien

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut On peux surement s'aider
    Bonjour,

    Je travail exactement sur la même chose que toi. Faire marcher un JFileChooser dans une applet.
    Cela fait déjà le 3ème jour que je me casse les dents sur ce JFileChooser.

    j'arrive sur certaine machine a faire marcher très bien l'applet du JFileChooser par contre sur les machines ou cela ne marche pas la plus part du temps cela plante le navigateur.

    Ce que j'ai fait c'est de signer l'applet, si ton applet n'est pas signé cela ne marchera pas.
    A tu signé ton applet ?

    Ensuite perso j'ai du rajouter dans le init() de l'applet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.setSecurityManager(null);
    pour que ca marche.

    Autre point dans mon code ce que je fais est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chooser.showOpenDialog(NomDeTaClass.this);
    et non pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chooser.showOpenDialog(null);
    Si tu veux je peux toujours te donner mon code mais vu que j'ai plein de problèmes sur certaine machine je pense qu'il vaut mieux faire marcher le tien.

    J'ai une question sur ton code, pour quoi tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Ouvrir extends JFrame
    et non pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Ouvrir extends JApplet
    si c'est une applet ?

    Cordialement,

    Francois

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour info, sur certaines machines windows, combinées à des versions de java 6, le JFileChooser merde joyeusement avec une exception de derrière les fagots lièe à COM, indépendament qu'on soit en applet ou non.

    D'une manière générale, ton filechooser ne marchera pas tant que tu n'aura pas signé le jar de ton applet pour lui donner les droit nécessaires.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Je confirme que le JFileChooser merde joyeusement.
    Mes sentiments sont que cela est peut être lié à Vista Pro 64 bits mais je ne suis pas jen suis pas sûr.
    Je développe sur Vista home 32 bits et lorsque j'essaie d'exécuter mon code sur les autres machines qui elle sont en Vista Pro 64 bits le JFileChooser part complètement en vrille.

    Les cas que je rencontre sont :
    Aucune fenêtre java ne se lance (peut être résolut en décochant un option du jre)
    une fenêtre se lance mais reste désespérément blanche tout en contaminant la fenêtre du débuger java qui elle aussi devient blanche (et moi vert !)

    bref rien de bien enthousiasment.

    Si quelqu'un peut me confirmer la piste du Vista Pro 64 bits j'aurai l'impression de pas avoir perdu ma journée ?

    Cordialement,

    Francois

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    on a le problème au boulot aussi, mais avec des machine sous windows xp, donc non ce n'est pas vista pro en ce qui nous concerne

    J'ai pus le lien ou le bug report chez sun sous la main, mais plein de gens avaient une exception lorsque filechooser était lancée et impossible d'utiliser le file chooser. Ça se produisait, chez nous, pour des applications standalone. Il y avait 2 solutions possible en ce qui nous concerne: downgrader de java 6 vers java 5 l'application et tous les pcs concernés ou faire tourner, pour les personnes concernées, l'application sur un windows terminal server qui fonctionnait. On a migré vers des terminal server les perdant

    Mais ce bug était facheux, pas lié à une version de windows (on a la meme version partout) mais plutot vraisemblablement à un "état" du profil utilisateur :/ Pas de workaroud connu si ce n'est créer ta propre boite de dialoguer avec des appels à File

    Depusi qu'on a rencontré ce bug, il y a une nouvelle version de java 6 dispo, je sais pas si elle le fixe.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Concernant la version de la JVM j'ai effectué mes test avec :

    Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
    et la version 1.6.0.12 dans les 2 cas les problème sont les même.

    En tout cas merci pour ton retour d'expérience sur les JFileChooser.

    Je vais me tourner vers une applet qui lance un programme externe écris dans un autre language qui lancera une fenêtre de sélection d'un dossier. Il sera appelé avec Runtime de java et surement cmd.exe de windows.

    Merci encore pour les infos.

    Cordialement,

    Francois

Discussions similaires

  1. Affichage d'une image aprés sa selection dans un filechooser
    Par dxdiag dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 03/02/2008, 23h23
  2. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  3. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  4. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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