[vtkusers] Re : Re: VTKPanel +Swing - repainting issue

Markus Ott ott-markus at t-online.de
Tue Jun 22 09:49:34 EDT 2010


Ooooh, stupid mistake, sorry! :-)
Thank you for your help! Must have seen this.

Jerome Robert schrieb:
> Ok this is not a VTK problem. You cannot call repaint from paintComponent, as repaint call paintComponent. You have an infinit recursion there. It doesn't trigger a StackOverflowException because the paint event is posted through the event queue. In other word you program is flooding the event queue.
> 
>> ----- Message d'origine -----
>> De : Markus Ott
>> Envoyés : 22.06.10 14:05
>> À : Jerome Robert
>> Objet : Re: [vtkusers] VTKPanel +Swing - repainting issue
>>
>> What i do actually:
>>
>> I override paintComponent of my infoPanel as follows:
>>
>> public void paintComponent(Graphics g){
>>
>> repaint();
>> }
>>
>> You will find a screenshot attached.
>> This is all it needs to gray out the vtkCanvas.
>>
>> I get the following when i click on it and try to move with pressed
>> mouse button:
>>
>> --------------------------------------------------------------------------
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>> at vtk.vtkPanel.UpdateLight(vtkPanel.java:211)
>> at vtk.vtkCanvas.mouseDragged(vtkCanvas.java:230)
>> at java.awt.Component.processMouseMotionEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>> Jerome Robert schrieb:
>>> Do you call repaint from the EDT ?
>>>
>>> Could you give the stack of you NullPointerException ?
>>>
>>>> ----- Message d'origine -----
>>>> De : Markus Ott
>>>> Envoyés : 22.06.10 11:28
>>>> À : Jerome Robert
>>>> Objet : Re: [vtkusers] Re : VTKPanel +Swing - repainting issue
>>>>
>>>> Hi Jerome,
>>>>
>>>> thank you for your quick reply.
>>>> The application is running on a Windows Vista machine.
>>>>
>>>> I use a simple BorderLayout with vtkPanel at BorderLayout.CENTER and the
>>>> infoPanel at BorderLayout.LINE_START.
>>>>
>>>> Overriding removeNotify() as in http://www.vtk.org/Bug/view.php?id=7107
>>>> doesn't help here.
>>>>
>>>> Jerome Robert schrieb:
>>>>> On Windows, running your Java application with -Dsun.java2d.ddoffscreen=false -Dsun.java2d.gdiblit=false may help removing the flickering effect.
>>>>>
>>>>> I don't think it's a lightweight/heavyweight problem as one panel is not hidding an other. It could be related to http://www.vtk.org/Bug/view.php?id=7107
>>>>>
>>>>> Which layout do you use in your main JPanel ?
>>>>>
>>>>> Jerome
>>>>>
>>>>>> ----- Message d'origine -----
>>>>>> De : Markus Ott
>>>>>> Envoyés : 21.06.10 18:28
>>>>>> À : vtkusers at vtk.org
>>>>>> Objet : [vtkusers] VTKPanel +Swing - repainting issue
>>>>>>
>>>>>> Hello vtkusers!
>>>>>>
>>>>>> I'm using VTK within Java. I have a simple layout with a JPanel
>>>>>> containing another information panel on the left side and a vtkPanel on
>>>>>> the right side.
>>>>>>
>>>>>> When i'm trying to override paintComponent()-methods of my infoPanel and
>>>>>> call the repaint() method the whole program's visual representation
>>>>>> messes up. I.e. i have only black and grey representations of my gui
>>>>>> elements and vtkPanel isn't usable any more (if i click it i get a
>>>>>> nullPointerException).
>>>>>>
>>>>>> I think it has something to do with mixing lightweight and heavyweight
>>>>>> components within java.
>>>>>>
>>>>>> Also the vtkPanel is flickering while resizing the window or if other
>>>>>> programs are on top of it. I think this may be based upon the same problem.
>>>>>>
>>>>>> Has anybody an idea what to do?
>>>>>>
>>>>>> Regards,
>>>>>> Markus
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers




More information about the vtkusers mailing list