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

Composants Java Discussion :

JTree SWING MySQL


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut JTree SWING MySQL
    bonjour, je cherche a sauvegarder mon Jtree (que g édité graphiquement sur eclipse )dans ma base de donnees MySQL; Si quelqu'un a une idée. MERCI.

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    ben tu ouvres la Base de Données, tu mets le JTree dedans, et tu refermes la Base de Données

    Plus sérieusement, qu'est-ce qui te pose problème ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    Et bien en fait g à moitié résolu le problème puisque je l'ai sérializé en xml ( g abandonné l'idée de la base de données) mais le problème maintenant c'est pour le réouvrir dans mon interface graphique... ca bug ...quelqu'un aurait-il un exemple?

  4. #4
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    avec la tonne de code que tu nous fournis, on va surement pouvoir t'aider...
    Tu nous dis qu'il y a un problème, super cool, mais nous on peut pas deviner qu'est ce qui cloche et encore moins comment résoudre ce fameux problème. Et je n'ai pas d'exemple sous la main, je ne vois même pas vraiment ce que tu veux faire.

    Merci de nous aider à t'aider

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    bjr,

    voila, en fait g crée un bouton sur mon interface qui permet de sauver mon arbre en prenant la racine (rootNode). -->
    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
    private JButton getJButton2() {
       if (jButton2 == null) {
          jButton2 = new JButton();
          jButton2.setBounds(new Rectangle(16, 146, 100, 22));
          jButton2.setText("sauver");
          jButton2.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent e) {
    	try {
    	XMLEncoder encoder = new XMLEncoder(new 
                             BufferedOutputStream(new FileOutputStream("tree.xml")));
    	encoder.writeObject(rootNode);
    	encoder.close();
    	} catch (FileNotFoundException e1) {
    	     e1.printStackTrace();
    	}
              }
             });
              }
             return jButton2;
    Jusque la pas de probleme il me crée bien mon tree.xml

    Le problème vient lorsque j'utilise le boutton " charger " et la ca plante. (pas a la compilation mais lorsque je clique sur celui ci.)
    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
    private JButton getJButton3() {
       if (jButton3 == null) {
          jButton3 = new JButton();
          jButton3.setBounds(new Rectangle(18, 11, 97, 27));
          jButton3.setText("charger");
          jButton3.addActionListener(new java.awt.event.ActionListener() {
               public void actionPerformed(java.awt.event.ActionEvent e) {
    	 try {
    	XMLDecoder decoder = new XMLDecoder( newBufferedInputStream  (new FileInputStream( "tree.xml" )));
    	TreeModel model = (TreeModel)decoder.readObject();
    	decoder.close();
     
    	if( model != null )
    	{
    	    tree = new JTree(model);
    	else
    	    tree = new JTree();
     
    	} catch (FileNotFoundException e1) {
    		System.out.println("on est ds exeption");
    	   e1.printStackTrace();
    	}
            }
            });
            }
        return jButton3;
    }
    Je pense que le problème vient de cette ligne de code:
    TreeModel model = (TreeModel)decoder.readObject();

    Journal d'erreur:
    ---------------

    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
    java.lang.ClassCastException: javax.swing.tree.DefaultMutableTreeNode
    	at pack.Interface$4.actionPerformed(Interface.java:407)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1815)
    	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1868)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:449)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:287)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:274)
    	at java.awt.Component.processMouseEvent(Component.java:5196)
    	at java.awt.Component.processEvent(Component.java:4993)
    	at java.awt.Container.processEvent(Container.java:1607)
    	at java.awt.Component.dispatchEventImpl(Component.java:3712)
    	at java.awt.Container.dispatchEventImpl(Container.java:1665)
    	at java.awt.Component.dispatchEvent(Component.java:3574)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3521)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3236)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3166)
    	at java.awt.Container.dispatchEventImpl(Container.java:1651)
    	at java.awt.Window.dispatchEventImpl(Window.java:1653)
    	at java.awt.Component.dispatchEvent(Component.java:3574)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:536)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:237)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:187)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:181)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:173)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:136)

    --------------merci pour votre aide éventuelle-------------------

  6. #6
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Normal : tu sauvegardes un DefaultMutableTreeNode, et lorsque tu charges l'objet, tu essaies de le caster en TreeModel. D'où la ClassCastException.

    Pour décoder, essaie plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    XMLDecoder decoder = ...;
    TreeNode rootNode = (TreeNode)decoder.readObject();
    TreeModel model = new DefaultTreeModel(rootNode);
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    MERCI... c ça;
    par contre mon arbre sur mon interface graphique ne s'actualise toujours pas.
    g essayé des commandes comme,
    SwingUtilities.updateComponentTreeUI(tree);
    ou encore,
    tree.updateUI() ;

    ca marche pas.

    Quelqu'un a-t-il une idée??

  8. #8
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Normalement, setModel devrait le convaincre de se mettre à jour. Actualises-tu le bon JTree ? (Tu ne fais pas un autre new JTree() quelque part ?)
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    si effectivement je faisait un new JTree(). MERCI, t'es énorme
    ps: désolé pour mé pauvre pb a la con mais je débute...

  10. #10
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    j'avoue que là je me suis lancé un peu au pif, et j'ai eu de la chance de tomber juste.

    Un petit clic sur le bouton (juste en dessous) ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    Juste une derniere question. Comment on peut supprimer le tree.xml???
    La fonction delete() ne marche-t-elle pas que sur les fichier?

  12. #12
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    La fonction delete() de la classe java.io.File marche sur des fichiers et des dossiers (cf. javadoc). Quel est ton problème exactement ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Par défaut
    ben a la suite du code precedent je voudrais supprimer mon tree.xml que j'ai crée.

  14. #14
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    On a compris, mais quel est le problème ? Le fichier n'est pas supprimé quand tu fais delete() ? Il y a une exception ? Fais-tu au moins tonFicher.delete() dans ton code ?

    La plupart du temps, si une suppression de fichier echou, c'est dû à la non fermeture de stream, il faut donc vérifier qu'ils sont tous bien fermés.

    Bonne chance.

Discussions similaires

  1. [EJB3 Entity] Netbeans6.5 : Swing ,Mysql,ejb3
    Par maparè dans le forum Java EE
    Réponses: 0
    Dernier message: 01/02/2010, 14h50
  2. Exemple d'application JDBC / Swing / Mysql
    Par exhortae dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 13/09/2008, 12h20
  3. probleme java swing MYSQL
    Par salma_tn dans le forum JDBC
    Réponses: 2
    Dernier message: 27/08/2008, 14h31
  4. [Swing]Problème d'affichage sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 19/01/2006, 11h41
  5. [Swing]Evenement JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 17/05/2005, 13h09

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