Bonsoir à tous,

J'ai fait y a quelques temps un prog pour imprimer l'écran qui marchait.
Je l'ai réutilisé et il marche pour un objet et pas pour un autre????
J'utilise les mêmes choses pourtant!!

Voici le code qui est fortement inspiré de ce qui est proposé dans la faq :

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
class Listener2 implements ActionListener
   {
       public void actionPerformed(ActionEvent event)
       {
            Object source = event.getSource();
            int l,h;
            l=his.getWidth();
            h=his.getHeight();
            if(source==BoutonFermer)
            {
                System.out.println("fermer");
                PrintJob job = getToolkit().getPrintJob(ff,"essai", null);
                if (job != null) 
                {
 
                    /** Recupere le Graphics dans lequel on va ecrire */
                    Graphics g = job.getGraphics();
                    if (g != null) 
                    {
                        //Redimensionnement du Panel
                        his.setSize(830,588);
                        /** Sur le Container imprime l'ensemble de ses Components  */
                        cc.printAll(g);
                        g.dispose();
                    }
 
                //** Finit le travail  
                job.end();
                his.setSize(l,h);
                his.repaint();
                System.out.println("fermer fin");
                }
            }
       }
l'erreur est :

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
java.lang.NullPointerException
        at JPanelBouton$Listener2.actionPerformed(JPanelBouton.java:179)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
a1
La ligne inidiquée (179) correspond à cc.printAll(g).
Voilà je ne comprends pas car j'utilise mot à mot la même class interne dans un autre objet et tout se passe bien. De plus, je ne comprends pas ce que veux dire l'erreur.

Merci d'avance et bonne soirée.