Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1662 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Imprimer / Capturer un JSCrollPane complet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Imprimer / Capturer un JSCrollPane complet

n°1064461
zerod
atchoum !
Posté le 28-04-2005 à 16:04:14  profilanswer
 

Bonjour, j'essaie sans succés de capturer dans un fichier / imprimer (cela revient quasiement au meme) le contenu d'un JSCrollPane.  
J'ai testé cette solution :  

Code :
  1. JViewport view = scrollPane.getViewport();
  2.        
  3.         Dimension size = view.getViewSize();
  4.         Image capture = view.createImage(size.width, size.height);
  5.        
  6.         Graphics captureG = capture.getGraphics();
  7.         view.paint(captureG);
  8.         FileOutputStream out = new FileOutputStream(file);
  9.         BufferedImage image = null;
  10.         image = (BufferedImage)capture;
  11.         if (image != null) {
  12.             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
  13.             JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
  14.             param.setQuality(0.8f,true);
  15.             encoder.encode(image, param);
  16.             out.flush();
  17.             out.close();
  18.         }


 
l'image est aux bonnes dimension mais seule une partie est copiée, le reste est grisé la partie qui aurait été affichée si on avait fait cela :  

Code :
  1. JFrame frame = new JFrame() ;
  2.         frame.getContentPane().add(this) ;
  3.         frame.pack();       
  4.         frame.setVisible(true);


(je le fais dans ma méthode capture pour tester)
 
deuxième tentative, appeler paint non pas sur le viewport mais sur le JScrollPane :  
même chose qu'au dessus avec comme seule différence :  

Code :
  1. scrollPane.paint(captureG);
  2. au lieu de
  3. view.paint(captureG);


et la même résultat... avec les ascenseurs en plus  :lol: évidemment...  
 
Si quelqu'un peut m'aiguiller un poil là je dois dire que ca m'aiderait bien, merci d'avance.  

mood
Publicité
Posté le 28-04-2005 à 16:04:14  profilanswer
 

n°1065533
zerod
atchoum !
Posté le 29-04-2005 à 12:03:50  profilanswer
 

je suis toujours bloqué la dessus si quelqu'un voit ce qui peut clocher... :(

n°1068580
zerod
atchoum !
Posté le 02-05-2005 à 12:01:11  profilanswer
 

alors la solution si quelqu'un tombe sur le même soucis :  
la méthode paint n'affiche que ce qui est visible à l'écran, donc elle doit certainement perndre en compte la résolution actuelle de l'écran.  
La solution est d'utilser

Code :
  1. view.printAll(captureG);


 
et là ca marche.  
a+


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Imprimer / Capturer un JSCrollPane complet

 

Sujets relatifs
Comment capturer entrée données sur 2 applis à la foisImprimer une liste PHP/MySQL
Imprimer grace au MFCImprimer le résultat d'une requete via un formulaire?
Pb avec une JscrollPaneimprimer datagrid
"chemin complet" sur EasyPHP?Imprimer le resultat d'une requete SQL contenu dans un rowsource
imprimer la page couranteImprimer avec une feuille CSS préconfigurée
Plus de sujets relatifs à : Imprimer / Capturer un JSCrollPane complet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR