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

AWT/Swing Java Discussion :

Impression d une 2eme fenetre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Par défaut Impression d une 2eme fenetre
    bonjour, j ai un ptit probleme pour imprimer
    Je voudrais imprimer ma JOptionPane qui appartient à fenetre "fen1" (fenetre active) lorsque je clique sur le bouton imprimer. Mais le probleme, c'est que j'imprime la fenetre "ext".

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    class Extended extends JFrame
    {
     
     String calcul = "calcul"; // Incrémentation de la donnée  
     String imprimer = "imprimer"; // Impression	
    .......................;
        public Extended() 
    	{
    	super("Calcul de dallage par la methode élastique");
    	 setResizable(false);
    	GridBagLayout repartiteur = new GridBagLayout();
    	GridBagConstraints contraintes;
                 .....................
                 }
     
    public static void main(String [] args)
      {
        Extended ext = new Extended();
    	ext.setVisible(true);// Affichage de la vue		  
      }	
     
    private void  Fenetreresultat() {
     
    	JFrame fen1 = new JFrame();
                 fen1.setSize(840, 600);
                 fen1.setTitle("Chargement");	
     
    	GridBagLayout repartiteur = new GridBagLayout();
    	GridBagConstraints contraintes;
    	Container interieur = fen1.getContentPane();
    	interieur.setLayout(repartiteur);
     
    	JLabel Titre01=new JLabel("");		
    	contraintes = new GridBagConstraints();
    	contraintes.gridx = 1;
    	contraintes.gridy = 0;
    	Titre01.setPreferredSize(new Dimension(80, 15));
    	Titre01.setMaximumSize(new Dimension(80, 15));
    	Titre01.setMinimumSize(new Dimension(80, 15));
    	contraintes.fill = GridBagConstraints.CENTER;
    	repartiteur.setConstraints(Titre01, contraintes);
    	interieur.add(Titre01);	
            .....................
      JButton impression = new JButton("IMPRESSION");
        contraintes = new GridBagConstraints();
        contraintes.gridx = 1;
        contraintes.gridy = NbPoint+13;
        contraintes.anchor = GridBagConstraints.CENTER;
        contraintes.insets = new Insets(10, 10, 10, 10);
        Color c=new Color(200, 200, 254);
        impression.setBackground(c);
        repartiteur.setConstraints(impression, contraintes);
        interieur.add(impression);
        impression.setActionCommand(imprimer);
        impression.addActionListener(controller);
     
       JOptionPane.showMessageDialog(null,interieur,"RESULTATS",JOptionPane.PLAIN_MESSAGE);
    }
     
    class Controller implements ActionListener {  
      public void actionPerformed(ActionEvent event)
        {
    			    if (command == imprimer){
    					Properties props = new Properties();
     
    					props.put("awt.print.paperSize", "a4");
    					props.put("awt.print.destination", "printer");
     
     
    					PrintJob pJob = getToolkit().getPrintJob(Extended.this,"Printing_Test", props);
     
     
     
    					if (pJob != null)
    					{
    						Graphics pg = pJob.getGraphics();
    						printAll(pg);
    						pg.dispose();
    						pJob.end();	
    					}
    				}
    }

  2. #2
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Par défaut
    personne pour me repondre,
    en plus ca doit etre simple, je pense juste que je dois changer ca :
    PrintJob pJob = getToolkit().getPrintJob(Extended.this,"Printing_Test", props);
    et plus particulierement "Extended.this" par le nom soit de ma frame ou soit par le nom de la fenetre active

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Par défaut
    Personne pour m aider, c'est dommage

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 195
    Par défaut
    PrintAll porte bien son nom

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Par défaut
    le printAll ne me derange pas du tout, je veux imprimer toute ma 2eme fenetre(fen1!!!!!, pas ("this.Extended")). Mais le pb, c que je n arrive pas à appeler cette fenetre

    Comment faire????

  6. #6
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    une solution rapide est de déclarer fen1 en attribut de visibilité package ou supérieure (protected ou public) de la classe Extended, et d'appeler Extended.this.fen1 dans la classe Controller.
    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
    public class Extended extends JFrame {
     
      JFrame fen1;
     
      ...
     
      private void fenetreResultat() {
        fen1 = new JFrame();
        ...
      }
     
      class Controller implements ActionListener {
        ...
        PrintJob pJob = getToolkit().getPrintJob(Extended.this.fen1,"Printing_Test", props);
        ...
      }
    }
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. [WD14] impression d'une fenetre
    Par alfaz dans le forum WinDev
    Réponses: 4
    Dernier message: 12/05/2012, 17h16
  2. impression d'une fenetre
    Par akwa_77 dans le forum WinDev
    Réponses: 3
    Dernier message: 07/03/2010, 21h16
  3. [AC-2007] impression etat sur une 2eme imprimante
    Par richemo dans le forum IHM
    Réponses: 4
    Dernier message: 10/05/2009, 10h57
  4. impression d'une fenetre
    Par vince6262 dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 22/09/2008, 17h03
  5. faire une 2eme fenetre windows
    Par christdu13 dans le forum Windows
    Réponses: 5
    Dernier message: 19/05/2006, 14h18

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