It appears that you want to substitute the existing BufferedImage in ImageComponent2D with a new one. If that is what it is, then setting the ALLOW_IMAGE_(READ)/WRITE capabilities on the ImageComponent2D and doing imagecomponent2D.set( theNewBufferedImage ) at run time will be all that is required I would think, but you may want to double check this. As I read the docs, the Updater mechanics is needed if you want to dynamically modify the contents of the BufferedImage held By_Reference.
>On Thu, 12 Feb 2004 13:31:10 -0700, Jason Cheatham <[EMAIL PROTECTED]> >wrote: >Currently I'm creating a new installer for a Java 3D application using >Install Anywhere and I've run into an interesting bug. > >The program works correctly when ran from Eclipse with the 1.4.2_03 J2SDK >and OpenGL version of Java 3D. If I create an installer with the 1.4.2_03 >J2SDK for DirectX, the application also works correctly, but if I create >an installer using OpenGL, the program ceases to respond and I have to >shut it down from the task manager even though everything works in >Eclipse. > >The error occurs during an update of a texture. > >It has been very time consuming to debug, since I have to create a new >installer everytime I test the program, but I've found that the program >crashes inside the ImageComponent2D.Updater class's updateData method. >I've included the code below, and am using JOptionPane's to debug the >application (anyone know of a better way?). The statement that crashes is >marked below, so please help me if you know what might be wrong with the >code. I have no idea why it would work in Eclipse, but not when installed >using OpenGL, so any thoughts on this would be helpful also. > >Thank you, > >Jason Cheatham > > >public class UITextureUpdater implements ImageComponent2D.Updater >{ > private ImageComponent2D m_imageComponent; > public void setImageComponent2D(ImageComponent2D i) > { > m_imageComponent = i; > } > protected BufferedImage m_updateImage; > public void updateTexture(BufferedImage image) > { > if(image == null) > { > JOptionPane.showMessageDialog(null, "bufferedImage is null"); > } > if(m_imageComponent == null) > { > JOptionPane.showMessageDialog(null, "m_tubeImageComponent is null"); > } > JOptionPane.showMessageDialog(null, "UITexture.updateTexture"); > m_updateImage = image; > JOptionPane.showMessageDialog(null, "UITexture.updateDataCall"); > m_imageComponent.updateData(this, 0,0,m_updateImage.getWidth >(),m_updateImage.getHeight()); > > > JOptionPane.showMessageDialog(null, "End UITexture.updateDataCall"); > } > public void updateData(ImageComponent2D imageComponent, int x, int y, >int width, int height) > { > JOptionPane.showMessageDialog(null, "UITexture.updateTextureCall"); > > imageComponent.set(m_updateImage); > // PROGRAM CRASHES ON ABOVE STATEMENT > > } >} > > ========================================================================== >To unsubscribe, send email to [EMAIL PROTECTED] and include in the body >of the message "signoff JAVA3D-INTEREST". For general help, send email to >[EMAIL PROTECTED] and include in the body of the message "help". =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".