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

API standards et tierces Java Discussion :

[Print]print screen [FAQ]


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 57
    Points
    57
    Par défaut [Print]print screen
    salut

    je voudrais faire un printscreen de l'écran et sauvegarder ça dans un fichier

    une idée?





    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    En plus détaillé qu'est-ce que tu attends ? de printer une fenêtre créee en Java ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par GLDavid
    En plus détaillé qu'est-ce que tu attends ? de printer une fenêtre créee en Java ?

    @++

    je voudrais par exemple cliquer sur un bouton et sauvegardé ce qui est vu à l'écran dans un fichier

  4. #4
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 57
    Points
    57
    Par défaut
    après avoir pris du code à gauche et à droite voici ce que ça donne
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    import java.util.Calendar;
     
    public class screenshot {
     
        private 
            int tempattente;
            String nomfichier;
     
        public String getNomFichier(){
            return nomfichier; 
        }    
     
        public screenshot(){
            tempattente = 1;
            Calendar calendar = Calendar.getInstance();
            String YY = (calendar.get(Calendar.YEAR)+"").substring(2);
            String MM = ((calendar.get(Calendar.MONTH)+1)+"");
            String DD = (calendar.get(Calendar.DAY_OF_MONTH)+"");
            String HH = (calendar.get(Calendar.HOUR)+"");
            String MI = (calendar.get(Calendar.MINUTE)+"");
     
            int AMint = (calendar.get(Calendar.AM_PM));
            String AMStr;
            if (AMint == 0) {AMStr = "AM"; } else {AMStr = "PM"; }
     
            if (MM.length() == 1) { MM = "0"+MM; }
            if (DD.length() == 1) { DD = "0"+DD; }
            if (HH.length() == 1) { HH = "0"+HH; }
            if (MI.length() == 1) { MI = "0"+MI; }
     
            nomfichier = YY+"-"+MM+"-"+DD+"_"+HH+"-"+MI+"-"+AMStr+".png";
        }
     
        public void takeSnapShot()throws AWTException{
            Toolkit toolkit = Toolkit.getDefaultToolkit();
            Dimension screenSize = toolkit.getScreenSize();
            Rectangle screenRect = new Rectangle(screenSize);
            Robot robot = new Robot();
            BufferedImage image =    robot.createScreenCapture(screenRect);
     
            try {
                ImageIO.write(image, "png", new File(getNomFichier()));
            } catch (IOException ioe) {
                System.out.println(ioe.toString());
            }
        }
            public static void main(String[] args)  throws AWTException{
                screenshot tmp = new screenshot();
                tmp.takeSnapShot();
            }
    }
    je voudrais votre avis afin d'avoir de bonne pratique

    il y a t'il moyen d'éviter de devoir utiliser AWTException dans le main?

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut SimpleDateFormat
    Au lieu d'avoir
    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
     
            Calendar calendar = Calendar.getInstance(); 
            String YY = (calendar.get(Calendar.YEAR)+"").substring(2);
            String MM = ((calendar.get(Calendar.MONTH)+1)+"");
            String DD = (calendar.get(Calendar.DAY_OF_MONTH)+"");
            String HH = (calendar.get(Calendar.HOUR)+"");
            String MI = (calendar.get(Calendar.MINUTE)+"");
     
            int AMint = (calendar.get(Calendar.AM_PM));
            String AMStr;
            if (AMint == 0) {AMStr = "AM"; } else {AMStr = "PM"; }
     
            if (MM.length() == 1) { MM = "0"+MM; }
            if (DD.length() == 1) { DD = "0"+DD; }
            if (HH.length() == 1) { HH = "0"+HH; }
            if (MI.length() == 1) { MI = "0"+MI; }
     
            nomfichier = YY+"-"+MM+"-"+DD+"_"+HH+"-"+MI+"-"+AMStr+".png";
    Tu peux utiliser le SimpleDateFormat comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateFormat df = new SimpleDateFormat("YY'-'MM'-'DD'_'hh'-'mm'-'a");
    nomFichier = df.format(new Date())+".png";
    Attention que je n'ai pas testé. Mais cela devrait donner qqchose de semblable à ce que tu fais.
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

Discussions similaires

  1. print screen
    Par connan62100 dans le forum Windows
    Réponses: 3
    Dernier message: 01/06/2006, 09h57
  2. Réponses: 2
    Dernier message: 20/03/2006, 18h05
  3. Touche « Print Screen »
    Par Furius dans le forum Windows
    Réponses: 4
    Dernier message: 20/09/2005, 17h54
  4. [Composant] Print/Print preview
    Par Rodrigue dans le forum C++Builder
    Réponses: 3
    Dernier message: 23/12/2004, 09h01

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