[Imprimer]Erreur pointeur null
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:
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:
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.