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".

Reply via email to