Le xml en java, et programme en tache de fond...

Le xml en java, et programme en tache de fond... - Java - Programmation

Marsh Posté le 16-05-2005 à 17:56:51    

Bonjour,  
 
1er probleme:
------------

 
je suis sur un projet java et je dois gerer des profils en Java ( ajouter, supprimer, modofier...)
Mon boss me dis d'utiliser le xml, (qqch de nouveau pour moi...) et quand j-utilise des packages que je trouve ca me met des erreurscar ils ne sont pas trouvés.
Pourriez vous m'en donner un facile a utiliser et à trouver, pour ce que je veux faire.
 
2eme probleme:
--------------

 
Je voudrais savoir comment il faut faire pour qu'un programme avec fenetre se mette en tache de fond...
Et si on minimise la fenetre comment fait on pour le recuperer ???
 
Merci a tous.
 
Mat

Reply

Marsh Posté le 16-05-2005 à 17:56:51   

Reply

Marsh Posté le 16-05-2005 à 17:59:09    

tu pourrais etre plus clair? les packages sont pas trouves? tu veux dire les classes que tu importes pour gerer le xml ne sont pas trouves? -> probleme de CLASSPATH
 
et autrement, par taches de fond tu veux dire: minimiser la fenetre dans le tray ou autre chose?


---------------
IVG en france
Reply

Marsh Posté le 17-05-2005 à 11:24:07    

1er PB
======
et bien je telecharge les maj des jdk pour xml et quand je compile, les imports ne marchent pas. En plus je ne suis pas du tout sur de ce que j'ai fait. Je dois gerer des profiles: nom_profiles, nom_server, mail, traitement. bien sur il y a plusieurs traitements, on peut en rajouter, supprimer modifier. J'ai fait ca...
import java.util.*;
import java.io.*;
import java.net.*;
import java.util.zip.*;
import java.io.File;
import java.util.logging.*;
import javax.net.ssl.*;
import java.security.*;
import javax.net.*;
import com.sun.xml.tree.*; // classe XML  
import org.w3c.dom.*;  // classe XML
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.filter.*;
import java.util.List;
import java.util.Iterator;  
 
public class Profile{
 
 private String NomProfile;
 private String NomServeur;
 private String Email;
 private String Traitement;
 
 public Profile(String NomProfile, String Server, String Email, String Traitement){
  this.creerFichierXml(NomProfile,Server,Email,Traitement);
  }
 
 public void creerFichierXml(String NomProfile, String Server, String Email, String Traitement){
  // Créer le XML d'envoie.
   
  Element racine = new Element("profiles" );
 
  static org.jdom.Document document = new Document(racine);
 
  Element profile = new Element("profile" ); // nouveau profile.
   
  Element Nom_Profile = new Element("Nom_Profile" );
  Nom_Profile.setText(NomProfile);
  profile.addContent(Nom_Profile);
   
  Element Nom_Server = new Element("Nom_Server" );
  Nom_Server.setText(Server);
  profile.addContent(Nom_Server);
     
  Element EmailRapport = new Element("Email" );
  EmailRapport.setText(Email);
  profile.addContent(EmailRapport);
     
  Element Application = new Element("Application" );
  Application.setText(Traitement);
  profile.addContent(Application);
   
  racine.addcontent(profile);
   
 }
 
 public void ajouterProfile(String repertoire,String NomProfile, String Server, String Email, String Traitement)
 {
  // Ajoute le nouveau profile au fichier de config des profiles.
  // L'on crée un instance du parseur SAXBuilder
       
    SAXBuilder sxb = new SAXBuilder();
       try
       {
          //L'on crée un nouveau document JDOM avec en argumant le fichier XML
          //Le parsing est terminé ;)
          document = sxb.build(new File("./Atome_config.xml" ));
       }
       catch(Exception e){}
 
       //L'on initialise un nouvel element racine avec l'element racine du document.
       racine = document.getRootElement();
       
       Element profile = new Element("profile" );
   
       Element Nom_Profile = new Element("Nom_Profile" );
       Nom_Profile.setText(NomProfile);
       profile.addContent(Nom_Profile);
   
       Element Nom_Server = new Element("Nom_Server" );
       Nom_Server.setText(Server);
       profile.addContent(Nom_Server);
     
       Element EmailRapport = new Element("Email" );
       EmailRapport.setText(Email);
       profile.addContent(EmailRapport);
     
       Element Application = new Element("Application" );
       Application.setText(Traitement);
       profile.addContent(Application);
   
       racine.addcontent(profile); // on ajoute le nouveau profile a la racine du doc.
       
       /**
        *  Sauver le fichier XML de config...
        */
 }
 
 
 public void supprimerProfile(String NomProfile)
 {
  // Supprime le profile  
   
  SAXBuilder sxb = new SAXBuilder();
  org.jdom.Document document = sxb.build(new File("./Atome_config.xml" ));
  Element racine = document.getRootElement();
   
  // Dans un premier temps on list tous les étudiants
       List listEtudiant = racine.getChildren("profile" );
       Iterator i = listEtudiant.iterator();
       //On parcours la liste grâce à un iterator
       while(i.hasNext())
       {
         Element courant = (Element)i.next();
         
          //Si le profile possède a le nom chch
        if(courant.getTagName().equals(NomProfile))
          {
             //On supprime le profile de la racine
             racine.removeChild(courant);
          }  
       }
       
       /**
        * Sauver le fichier XML de config
        */
 }
 
 
 public String chercher_info(String Nom_Profile, String Champ_Profile)
 {
  // recherche le champ profile dans le Profile Nom_Profile
   
  SAXBuilder sxb = new SAXBuilder();
  org.jdom.Document document = sxb.build(new File("./Atome_config.xml" ));
  Element racine = document.getRootElement();
   
    //Dans un premier temps on list tous les étudiants
       List listEtudiant = racine.getChildren("profile" );
       Iterator i = listEtudiant.iterator();
       //On parcours la liste grâce à un iterator
       while(i.hasNext())
       {
        Element courant = (Element)i.next();
         
          //Si le profile possède a le nom chch
        if(courant.getTagName().equals(NomProfile))
          {
         if(courant.getChild(Champ_Profile)!=null)
             {
          return courant.getChild(Champ_Profile);
             }
 
          }
       }
       
       return null;
 }
 
 
 public void modifier_info(String Nom_Profile, String Champ_Profile)
 {
  // modifier le champ profile dans le Profile Nom_Profile
   
  SAXBuilder sxb = new SAXBuilder();
  org.jdom.Document document = sxb.build(new File("./Atome_config.xml" ));
  Element racine = document.getRootElement();
   
  // Dans un premier temps on list tous les étudiants
       List listEtudiant = racine.getChildren("profile" );
       Iterator i = listEtudiant.iterator();
       //On parcours la liste grâce à un iterator
       while(i.hasNext())
       {
        Element courant = (Element)i.next();
         
          //Si le profile possède a le nom chch
        if(courant.getTagName().equals(NomProfile))
          {
         if(courant.getChild(Champ_Profile)!=null)
             {
          //modifier le champ.
     //enregistrer le fichier de config.
             }
 
          }
       }
       
 }
 
 public void NextProfile() // recupere le profile suivant du profile courant.
 {
   
 }
 
 public void PreviousProfile() // recupere le profile precedent du profile courant.
 {
     
 }
 
}
 
Gerer qqch comme ca quoi...
 
- <profiles>
-    <profile>
       <Nom_Profile> Auto </Nom_Profile>  
       <Nom_Serveur> rjd78656892 </Nom_Serveur>  
       <Email> MyMat@mail.com </Email>  
       <Application> std </Application>  
    </profile>
  </profiles>
 
 
2eme PB
=======
 
Oui c'est une appli qui sera installé sur des servers et donc elle doit pouvoir tourner en tache de fond et si on veut minimiser la fentre... Je ne sais pas comment on fait, ou y a t il une autre solution...

Reply

Marsh Posté le 17-05-2005 à 11:29:02    

balises [cpp] :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 17-05-2005 à 11:45:17    

quoi ?????

Reply

Marsh Posté le 17-05-2005 à 12:02:32    

- Utilise les balises

Code :
  1. pour encadrer tes extraites de code, autrement c'est peu lisible.
  2. [cpp]
  3. Exemple de code


 
- Réduire la portée du problème avant de poser une question. Inutile de poster TOUT ton code.
 
- Topic "passage obligé pour débutants" et surtout topic "classpath" devraient t'apporter les réponses à tes questions.
 

Citation :

les imports ne marchent pas.


Un message d'erreur précis serait plus utile; encore qu'ici, on peut deviner.


Message édité par sircam le 17-05-2005 à 12:03:53

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 17-05-2005 à 12:10:52    

ou sont ces balises....

Reply

Marsh Posté le 17-05-2005 à 12:11:13    

j'ai lu passage obligé pour débutants...

Reply

Marsh Posté le 17-05-2005 à 12:15:52    

Voici donc les imports... mais qd j'inmporte il ne les reconnait pas... :pt1cable:  
 

Code :
  1. import java.util.*;
  2. import java.io.*;
  3. import java.net.*;
  4. import java.util.zip.*;
  5. import java.io.File;
  6. import java.util.logging.*;
  7. import javax.net.ssl.*;
  8. import java.security.*;
  9. import javax.net.*;
  10. import com.sun.xml.tree.*; // classe XML   
  11. import org.w3c.dom.*;  // classe XML  
  12. import org.jdom.*;
  13. import org.jdom.output.*;
  14. import org.jdom.input.*;
  15. import org.jdom.filter.*;
  16. import java.util.List;
  17. import java.util.Iterator;


 
- Je veux bien ne pas tout mettre mais je voudrais bien aussi qu'on me dise ce qui ne va pas dans mon code pour gerer une base comme ca...
 

Code :
  1. <profiles>
  2.      <profile>
  3.        <Nom_Profile> Auto </Nom_Profile> 
  4.        <Nom_Serveur> rjd78656892 </Nom_Serveur> 
  5.        <Email> MyMat@mail.com </Email> 
  6.        <Application> std </Application> 
  7.     </profile>
  8.   </profiles>

Reply

Marsh Posté le 17-05-2005 à 12:20:40    

Tu as mis quoi dans ton classpath?

Reply

Marsh Posté le 17-05-2005 à 12:20:40   

Reply

Marsh Posté le 17-05-2005 à 12:23:38    

les adresse des jdk et maj insatllées

Reply

Marsh Posté le 17-05-2005 à 12:25:00    

fait un echo de ton CLASSPATH et colles le ici pour voir  
 
 et l'erreur a la compilation aussi :o


---------------
IVG en france
Reply

Marsh Posté le 17-05-2005 à 12:25:16    

tu en es certain?
Et ca te mets quoi comme erreur alors?

Reply

Marsh Posté le 17-05-2005 à 12:27:48    

et bien ca met des erreurs partout, vu que les imports ne sont pas reconnus... Tous les types liés au XML sont faux pour lui...  
Je travaille avec eclipse. En plus c'est nouveau pour moi ce log, jamais utilisé, c'est a mon stage qu'on me demande de l'utiliser car c'est gratuit et pas mal j'avoue...

Reply

Marsh Posté le 17-05-2005 à 12:29:14    

uriel a écrit :

fait un echo de ton CLASSPATH et colles le ici pour voir  
 
 et l'erreur a la compilation aussi :o


 

Reply

Marsh Posté le 17-05-2005 à 12:30:12    

Je ne suis pas a mon travail la..., je suis chez moi !!!
Mais des que j'y suis je te mets ca.
Merci

Reply

Marsh Posté le 17-05-2005 à 12:31:02    

Donc rdv vers 14h pour le CLASSPATH.
Merci les gens...

Reply

Marsh Posté le 17-05-2005 à 12:31:45    

ok ca marche

Reply

Marsh Posté le 17-05-2005 à 13:16:39    

Citation :

j'ai lu passage obligé pour débutants...


 

Citation :

Je travaille avec eclipse


 
:o
 
Le topic "débutant" est clair : ne pas utiliser d'IDE quand on débute. Il faut lire et mettre en application. :o
 
Ce conseil a été prodigué en raison des très nombreuses questions relatives à des CLASSPATH incorrects et d'autant plus incompris qu'on utilise un IDE.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 17-05-2005 à 13:47:21    

Oui mais je voudrais bien qd mm trouver mon pb...
 
la classpath est:
 
%System.Root%System32
%System.Root%
c:\ProgramFiles\Java\j2re1.4.2_04\bin
c:\Sun\AppServer\jdk\bin
c:\Sun\jwxdp-1.5\jwsdp_shared\bin
 
voila !!!!

Reply

Marsh Posté le 17-05-2005 à 14:06:47    

j'ai mm rajouté un version 5 que je n'avais pas mis et ca n'a rien chngé....

Reply

Marsh Posté le 17-05-2005 à 14:09:16    

fertalamat a écrit :

Oui mais je voudrais bien qd mm trouver mon pb...


Tu le trouverais PRECISEMMENT si, comme le suggère le modeste tutoriel, tu n'utilisais pas un IDE, ce qui aurait pour effet de te forcer à COMPRENDRE comment fonctionne le classpath.
 
A contrario, si tu ne fais pas l'effort de comprendre et de mettre en application, te donner la réponse ne sert strictement à rien.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 17-05-2005 à 14:11:35    

ton CLASSPATH est pas bon du tout, et je suis pas sur que tu ais saisi ce que CLASSPATH etait :/  
http://forum.hardware.fr/hardwaref [...] 1088-1.htm


---------------
IVG en france
Reply

Marsh Posté le 17-05-2005 à 14:26:31    

AH JE DOIS METTRE TOUS LES JARS DES MAJ RAJOUTÉS C EST CA ???
OUI MAIS J UTILISE DES IDE DEPUIS LGTPS SOUVENT JBUILDER...
DONC VOILA.

Reply

Marsh Posté le 17-05-2005 à 14:31:10    

c'est pas une raison pour écrire en majuscules [:pingouino]

Reply

Marsh Posté le 17-05-2005 à 14:33:00    

fertalamat> calmos.
 
vas lire le topic sur la classpath, tu comprendras mieux le problème ...
et tu n'as toujours pas donné le message d'erreur de la compilation


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-05-2005 à 14:34:12    

oui oui...
En tout cas je reviens vous voir si j'ai d'autres pb qd j'aurais compilé....
A plus et merci a tous

Reply

Marsh Posté le 17-05-2005 à 14:35:03    

Bah je compile avec eclipse donc il souligne en rouge quasiment toute ma classe utilisant jdom...

Reply

Marsh Posté le 17-05-2005 à 14:37:39    

[:ciler]
 
 rajoutes les jar a ton projet


---------------
IVG en france
Reply

Marsh Posté le 17-05-2005 à 14:40:52    

Citation :

OUI MAIS J UTILISE DES IDE DEPUIS LGTPS SOUVENT JBUILDER...


Et tu vois où ça mène ? Nulle part de bon. jEdit ou notepad le temps de l'apprentissage.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 17-05-2005 à 14:43:06    

j'en prends note, je vais m'y mettre mais pour l'instant je suis en stage et je voudrais finir mon projet...

Reply

Marsh Posté le 17-05-2005 à 16:48:43    

Voila tout est fait... Pb n°1 reglé...
 
Maintenant en ce qui concerne le probleme numero 2: En fait mon application sera installé sur un serveur et donc tournera en tache de fond. Le tache de fond, il faut faire qque chose en particulier ou juste minimiser la fenetre ?? Et si c'est ca, comment fait on pour recuperer le fenetre par la suite ?

Reply

Marsh Posté le 18-05-2005 à 11:20:33    

Maintenant en ce qui concerne le probleme numero 2:  
En fait mon application sera installé sur un serveur et donc tournera en tache de fond. Le tache de fond, il faut faire qque chose en particulier ou juste minimiser la fenetre ??  
Et si c'est ca, comment fait on pour recuperer le fenetre par la suite ?

Reply

Marsh Posté le 18-05-2005 à 11:27:19    

Tu vas poser la même question tous les jours ? :whistle:

Reply

Marsh Posté le 18-05-2005 à 13:29:31    

si je n'ai pas de reponse oui...

Reply

Marsh Posté le 18-05-2005 à 13:37:15    

je voudrais bien une explication

Reply

Marsh Posté le 18-05-2005 à 13:39:03    

en meme temps ca veut pas dire grand chose ta question ...
 
recuperer une fenetre minimisé, euh, tu cliques sur la barre de tache la ou est minimisé ta fenetre ?
Mais bon t'es sur un serveur ta fenetre tu peux la laisser ouverte non ?

Reply

Marsh Posté le 18-05-2005 à 13:42:13    

ouais mais bon on me dis de faire ca....
En parlant de minimiser je parlais de la barre des taches en bas a droite. Mais est ce que ca rend la fenetre visible a nouveau automatiquement... ou il faut faire qqch de special

Reply

Marsh Posté le 18-05-2005 à 14:04:05    

dans ce cas la regarde du coté de Jtray
http://www.javaapis.com/jtray/
 
doit y avoir d'autre mais j'ai pas en tete

Reply

Marsh Posté le 18-05-2005 à 14:05:34    

Si c'est pour tourner en tache de fond pourquoi ne pas faire directement un service windows?
http://members.tripod.com/~hkseth/nt.html


Message édité par moritan le 18-05-2005 à 14:10:03
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed