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 :
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
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"); } } }
La ligne inidiquée (179) correspond à cc.printAll(g).
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
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.
Partager