Partage
  • Partager sur Facebook
  • Partager sur Twitter

forcer un repaint() + jar qui ne fait rien

    19 février 2009 à 12:23:08

    Salut a tous!
    Voila j'ai deux problemes que je n'arrive pas a resoudre.

    Le premier:
    j'ai une fenetre qui s'actualise toute les dix secondes, seulement j'ai découvert que lorsqu'une application est reduite dans la barre des taches ou qu'elle est cachée par la suite d'un HIDE_ON_CLOSE et que l'on appelle la methode repaint(), l'application refuse d'elle meme d'executer cette methode vu que l'application est cachée...
    seulement j'ai besoin d'afficher une erreur lorsqu'une valeur change et la verification se trouve dans mon PaintComponent
    je voulais donc savoir comment forcer l'execution du repaint() meme si la fenetre est cachée.


    Le deuxieme:
    Ca fait plusieurs fois que je suit le tuto pour faire un .jar executable, le .jar se fait bien seulement impossible de le lancer, il ne fait strictement rien.
    Est ce que quelqu'un a eu le meme probleme ou saurait m'expliquer pourquoi?

    merci.
    • Partager sur Facebook
    • Partager sur Twitter
      19 février 2009 à 16:55:08

      pour la première question:
      a tu réellement besoin que ta vérification soit dans ton repaint? Tu peux sûrement la mettre dans une autre méthode que tu appelles à chaque appel de la fonction repaint, ou périodiquement à l'aide d'un Thread. Si tu penses que ce n'est pas possible, publie le code, c'est quand même plus facile à corriger...

      pour l'autre question:
      Il y a t-il une classe Main dans ton .jar? Essaie aussi de l'executer par l'intermédiaire de la console:
      java -jar "l'adresse de mon programme.jar"

      Il y a t'il alors des messages d'erreurs qui s'affiche? (on ne sait jamais)
      • Partager sur Facebook
      • Partager sur Twitter
        19 février 2009 à 17:44:43

        je plusssois tyu1000

        mieux vaut faire une fonction en dehors du paint component pour la versification que tu dois faire :o


        pour le deuxieme :
        à tu essayé un code stupide genre ouverturne d'une Jframe ou juste une JOptionBox :o
        et faire un jar avec :o?
        • Partager sur Facebook
        • Partager sur Twitter
          19 février 2009 à 18:39:42

          la solution de mettre la verification a part j'y ait pensé mais ca va me refaire changer tout mon code(encore)
          j'aurais préféré trouver une meilleure solution mais bon si ya pas moyen...

          pour la deuxieme non je n'ai rien tenté de stupide :p mon programme tourne bien sous eclipse. Mais en continuant mes recherches sur internet je suis tombé sur un cas pas loin du mien . Le probleme etait qu'il ne trouvait pas un dossier de .class qui etaient en ressource et des images. Or des qu'une erreur se pointe le jar ne fait rien
          c'est en executant la commande citée que j'ai trouvé aussi :p
          Sinon pour ajouter des images dans le .jar il y a une solution?
          • Partager sur Facebook
          • Partager sur Twitter
            19 février 2009 à 23:25:36

            ben heuu justement essaye de faire un truc stupide et vois si ça marche ^^
            • Partager sur Facebook
            • Partager sur Twitter
              20 février 2009 à 17:06:43

              Si il faut ajouter des images, c'est normalement à la racine du jar. Essaie donc de mettre des images dans le même dossier que ton jar.
              Sinon, Snooooopy a raison:
              Vérifie en effet que pour un programme simple ça marche, genre:
              public static void main(String[] args) {
                      JOptionPane.showMessageDialog(null, "ça marche");
                  }
              

              dans un projet à part.
              Si ça ne marche pas, renvoie nous les messages d'erreur.
              Si rien ne s'affiche, lance ton programme par la console, et vois ce qui se passe.
              • Partager sur Facebook
              • Partager sur Twitter
                20 février 2009 à 18:36:09

                c'est bon j'ai réussi a le faire fonctionner :) j'avais prevenu dans mon dernier message :p

                mais par contre pour les images si je les met dans le meme dossier que mon jar sa passe mais si je les mets dans le jar sa passe plus
                et justement je voudrais les inclure dans le jar
                • Partager sur Facebook
                • Partager sur Twitter
                  21 février 2009 à 12:26:43

                  Le problème, c'est que ton .jar n'est rien d'autre qu'un dossier compressé. Il faut donc que ton logiciel décompresse les images stockées dans le jar, ce qu'il ne fait pas par défaut.
                  La solution la plus simple pour diffuser ton application, si c'est ton but, c'est donc de créer un zip contenant le jar, tes images et tes librairies.
                  Tu peut aussi tout mettre dans le jar, mais il faut tu tu crées des classes qui décompressent tes images pour les stocker dans un dossier à part à la racine te ton jar. En gros, il faut que tu crée un système d'installation... :p
                  Sinon, cherches peut-être du côté de manifest.mf, mais je n'ai rien trouvé personnellement.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 février 2009 à 12:54:10

                    Ouais je vois
                    mais sinon pour diffuser mon logiciel sous windows j'ai prévu de le passer sous un .exe(pour des neophytes c'est moins louche) ca pourrait peut etre resoudre le probleme?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 février 2009 à 14:36:28

                      peut-être. Mais le désavantage, c'est que tu perds la portabilité avec des .exe, ce qui est quand même l'atout principal de java. De plus, je ne suis pas sûr que tu échappes au ressources externes.
                      Si tu crées un lanceur .exe, il faut que tu délivres ton .jar et ses ressources à côté, et ce n'est pas ce que tu veux.
                      Sinon tu peux essayer de compiler en langage natif (renseignements ici), mais je pense que tu dois quand même avoir tes ressources dans un dossier à part. En effet, il faut utiliser en C aussi un système d'installation, dixit M@teo21.
                      Dans ce cas, tu perd en plus complètement la portabilité (ce n'est plus du java), et visiblement, peu de librairies sont supportées.
                      Essaie donc de voir si tu peux trouver un installeur java, je pense que c'est le mieux pour résoudre ton problème.
                      J'ai trouvé celui là: lien
                      • Partager sur Facebook
                      • Partager sur Twitter

                      forcer un repaint() + jar qui ne fait rien

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown