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 :

Application graphique non fenétrée


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Application graphique non fenétrée
    Bonjour à tous,

    Je cherche à réaliser une petite application en java qui consisterais a faire se balader un petit dessin sur l'écran de ma machine par dessus mes applications ouvertes.
    Beaucoup se souviendrons peut etre de shampoo.exe, ce petit bellier qui se promenait sur nos écrans il y a quelques années.

    Si quelqu'un pouvait m'expliquer comment faire dans les grandes lignes ou au moins me dire de quel coter gratter pour trouver, je lui en serai très reconnaissant.

    Merci par avance

    drachenkiller

  2. #2
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Tu vas devoir utiliser du code natif, ou faire une capture de l'ecran et utiliser une fenetre qui recouvre tout.
    Romain Guy
    Android - Mon livre - Mon blog

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par Gfx
    Tu vas devoir utiliser du code natif, ou faire une capture de l'ecran et utiliser une fenetre qui recouvre tout.
    Il me tuera ce Gfx...
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  4. #4
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736

  5. #5
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Vivement la traduction des autres demos

    (genre http://weblogs.java.net/blog/gfx/archive/2005/11/twinkle_a_java2.html )
    Romain Guy
    Android - Mon livre - Mon blog

  6. #6
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    hum.... tu veux dire vivement qu'on ait autre chose qu'un screen shot ;-)

  7. #7
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    http://jext.free.fr/twinkle.mov
    ou
    http://jext.free.fr/twinkle.avi

    Une video ca aidera a faire patienter
    Romain Guy
    Android - Mon livre - Mon blog

  8. #8
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    ca y est j'ai mal au coeur moi :-)
    ca bouge trop ces applications modernes

  9. #9
    Membre régulier Avatar de Actarus78
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Septembre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 87
    Points : 118
    Points
    118

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Salut et merci à tous ceux qui on répondu.

    Perso, je recherchais une solution plus portable que l'utilisation de code natif ou autre que la copie d'écran mais il me semble que Gfx ai pas mal d'avance sur moi en ce qui concerne ce sujet.

    Je vai sdonc chercher encore un peu et peut etre passer sur un autre langage, je sais pas encore.
    En tout Merci encore et à bientot.

    Drachenkiller

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    Bonjour, j'ai vu que vous parliez de copie d'écran...
    peut etre dois je refaire un post,
    j'explique je possede une application composé d'un panel princîpale, lui même composé de composants. Je voudrais savoir si il est possible de faire une copie d'écran d'un de ces composants (ils sont des extends JPanel), car je connais le rectangle ou il est dessiné ?

    je ne sais pas si j'ai été clair,
    merci d'avance.

  12. #12
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Il suffit d'appeler sa methode paint en lui donnant un Graphics correspondant a une image. Sinon regarde la classe Robot.
    Romain Guy
    Android - Mon livre - Mon blog

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    je suis encore débutante en fait, et je ne suis pas sur d'avoir bien compris.
    Moi j'ai un panel avec plusieurs composants (qui étende eux meme des JPanel - Panel B), bref, je veux qu'en ouvrant une fenêtre (JDialog) je récupère l'image d'un composant et que je l'affiche dans un des panel (panel A) de ma JDialog.

    Cela voudrait dire qu'au lieu d'insérér le panel A, j'insérerais directement mon panel B...
    ça a l'air tout simple comme ça.
    Je vais tester de suite.

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    désolé pour la réponse inutile, c'était tout simple. j'ai réussi.
    Merci

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    dernier probleme.
    le faire de faire panel.add(graph), graph étant mon composant que je désire afficher dans ma JDialog, mais qui doit comme même rester à l'écran dans ma fenêtre principale.

    j'ai bien initialement mon graph dans la fenêtre principal -> OK
    ma JDialog s'ouvre avec l'image du graph -> OK
    au bout d'un certain temps l'image de fond du graph présent dans la fenêtre principale disparait -> NOT OK

    cela vient surement que le rafraichissement de celui n'est effectué qu'a un seul endroit à la fois ?
    est ce possible, car si j'ouvre une 2ieme JDialog, elle ne contient pas le graph.

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    J'essai donc de faire une image de mon composant, pour cela j'ai mis dans mon composant la méthode getImage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public Image getImage() {
        int width = getWidth();
        int height = getHeight();
        BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
        Graphics2D g = image.createGraphics();
        paintAll(g);
        g.dispose();
        Image image2 = Toolkit.getDefaultToolkit().createImage(image.getSource());
        return image2;
      }
    (rq ce code a été pris de la FAQ)
    et ensuite ma JDialog je veux l'afficher dans un des panel donc :
    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
     
      private JPanel getGraphPanel() {
        if (graphPanel == null) {
          graphPanel = new JPanel();
          graphPanel.setFont(ParameterUI.PAC7000_FONT);
          graphPanel.setLayout(new GridBagLayout());
          GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
          gridBagConstraints6.fill = java.awt.GridBagConstraints.BOTH;
          gridBagConstraints6.weightx = 1.0;
          gridBagConstraints6.weighty = 1.0;
          graph.setRectangle(graphPanel.getBounds());
        graphImage = new GraphImage(graph.getImage());
          graphPanel.add(graphImage, gridBagConstraints6);
          graphPanel.setPreferredSize(new Dimension(210, 250));
        }
        return graphPanel;
      }
    et graphImage étant mon image :
    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
     
      private class GraphImage extends JPanel {
     
        private Image image;
        public GraphImage(Image image) {
          this.image = image;
        }
     
     
        protected void paintComponent(Graphics g) {
          super.paintComponent(g);
          Graphics2D graphics2D = (Graphics2D) g;
          System.out.println("GraphImage:paintComponent: image wi="+getX()+",y ="+getY());
          graphics2D.drawImage(image, getX(), getY(),null);
        }
     
      }
    Mais rien ne s'affiche, on voir juste le bord du panel de la Jdialog mais il a l'air tout petit.
    Aussi j'ai essayer avec Robot dans le getImage j'ai changer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public Image getImage() {
        Robot robot = null;
        try {
          robot = new Robot();
        } catch (AWTException e) {
          System.out.println("exception robot");
        }
        BufferedImage bufferedImage = robot.createScreenCapture(getRectangle());
        Image image = Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource());
        return image;
      }
    Cette fois ci quelque chose s'affiche mais c'est une partie de la copie d'écran de ma JDialog, alors que moi je veux ce qui en dessous...
    bref, je suis un peu pêrdu je commence différentes solutions, mais rien ne semble vraiment marcher si qq'1 voit une erreur dans mon code ou si qq'1 connait une autre solution, qu'il m'aide.

    Merci d'avance.

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Re: Application graphique non fenétrée
    Citation Envoyé par drachenkiller
    Bonjour à tous,

    Je cherche à réaliser une petite application en java qui consisterais a faire se balader un petit dessin sur l'écran de ma machine par dessus mes applications ouvertes.
    Beaucoup se souviendrons peut etre de shampoo.exe, ce petit bellier qui se promenait sur nos écrans il y a quelques années.

    Si quelqu'un pouvait m'expliquer comment faire dans les grandes lignes ou au moins me dire de quel coter gratter pour trouver, je lui en serai très reconnaissant.

    Merci par avance

    drachenkiller

Discussions similaires

  1. Applications graphiques fenêtrées: Winforms & WPF
    Par adiekmann dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 17/07/2007, 19h43
  2. [Débutant] Application graphique
    Par KORTA dans le forum Modules
    Réponses: 2
    Dernier message: 18/07/2004, 09h07
  3. Execution d'une application graphique
    Par BigBeni dans le forum ANT
    Réponses: 2
    Dernier message: 01/04/2004, 09h30
  4. application graphique
    Par Zazeglu dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 11/10/2003, 22h27
  5. Quel langage pour un application graphique sous windows
    Par ipeteivince dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 06/06/2003, 17h00

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