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

Interfaces Graphiques en Java Discussion :

récupération de ressources


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut récupération de ressources
    salut à tous
    J'affiche une fenêtre 3D que l'utilisateur peut modifier donc je ferme une fenêtre et j'en ouvre une autre. voila le code pour récupérer les ressources. Celui ci ne marche pas car au bout de 4 appels du constructeur de fenetre 3D. j'ai out of memory
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Interface3D.dispose();
        Interface3D=null;
    merci d'avance

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    C'est bizarre cette histoire...
    Et en essayant de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Interface3D.dispose();
    Interface3D=null;
    System.gc();
    ça donne quoi ?

    Sinon peux-tu nous donner plus de code ? peut-étre que la libération de ressource n'est pas exécutée...


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Je ne récupère tjrs pas les ressources
    voila un peu plus de code, la méthode error() teste si il y a une error
    Interface_Error() est une fenetre et fenetre3D() est une méthode qui crée une nouvelle fenêtre 3D.
    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
    public void repeindre(){ 
      if(Interface3D!=null){
       if(error()){
        new Interface_Error();
       }
       else{
        Interface3D.dispose();
        Interface3D=null;
        System.gc();
        fenetre3D();
       }
      }
      else{
       if(error()){
        new Interface_Error();
       }
       else{
        fenetre3D();
       }
      }
     }
    merci
    bonne journée

  4. #4
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Là je ne vois rien qui cloche...mais tu dois poster plus de code pour qu'on puisse comprendre ce que fait ton programme et surtout comment il le fait.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    voila ma méthode fenêtre3D
    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
    public void fenetre3D(){
      String s=precision.getText();
      double preci=Double.parseDouble(s);
     
      String resultat="resultat.txt";
      String resultat_tmp="resultat_tmp.txt";
      Reprise_donnees rep=new Reprise_donnees(3,f);
      rep.calcul_tant_que(preci);
     
      double esti_vol=rep.getEstimation_volume();
      estimation_volume.setText(String.valueOf(esti_vol));
     
      Interface3D=new Interface3D(f,color1,color2,color3,color4); 
      Interface3D.setVisible(true);
     }
    toute la première partie de la méthode sert à prendre en compte ce que rentre l'utilisateur pour calculer un volume. puis ensuite j'ouvre une fenêtre3D.
    Merci

  6. #6
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Si les fenètres que tu affiches ont une taille conséquente, à ce moment-là il vaut mieux allouer plus de mémoire à ton application: cela se fait à partir de la ligne de commande comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Xms256m MonApplication
    Cette instruction alloue 256Mo de mémoire initiale à ton application.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    merci mais je l'ai deja fait cela.
    Ainsi quand j'étais par défaut je pouvais lancer une fois le programme(64)
    Maintenant avec 256 je le lance 4 fois
    le probleme rest donc la!!!!
    merci

  8. #8
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Et en essayant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Interface3d.getGraphics().dispose();


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    J'ai une autre piste.
    pour générer ma fenetre 3D, je crée un arbre. Ca doit etre ca qui ne se supprime pas. Si je comprends bien je dois supprimer la racine et appeler la méthode System.gc();??
    merci

  10. #10
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Effectivement, si tu as une référence à ton objet qui traine dans arbre, l'objet en question ne sera jamais détruit tant que TOUS les liens n'ont pas été supprimés.
    Pour le System.gc, cela augmente les chances que les ressources alloués aux objets NON REFERENCES soient libérées, mais cela ne le garanti en aucun cas.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    J'ai mis les racines de mes arbres à null. et utilisé le garbage collector mais ca ne semble pas suffir.
    Pouvez vous me confirmer que pour supprimer un arbre simplement lié
    (variances d'instance du noeud fils_gauche et fils_droite) il faut que j'écrive une méthode parcourant l'arbre et le détruisant?
    Est ce faisable?
    merci

Discussions similaires

  1. Récupération de ressource WebService
    Par Leaffy dans le forum Android
    Réponses: 0
    Dernier message: 10/04/2012, 23h19
  2. Réponses: 2
    Dernier message: 29/09/2007, 13h56
  3. Réponses: 10
    Dernier message: 27/07/2007, 11h25
  4. Erreur récupération ressource
    Par neuromencien dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 04/01/2007, 10h28
  5. [Ressources] probleme récupération image
    Par chouchou93 dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 06/11/2006, 11h34

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