Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #31660

Animations with jTextPane

Newsgroups comp.lang.java.programmer
Date 2015-05-10 02:57 -0700
Message-ID <aabd37b8-2013-4bcb-abef-c787b5c92640@googlegroups.com> (permalink)
Subject Animations with jTextPane
From H.L@operamail.com

Show all headers | View raw


 Hey

 We are using OpenCV to grab images from the web cam. The idea is to show the feed in a jTextPane when the user selects to show feed, otherwise other stuff can be shown in the pane. This pane is in a JFrame with  lots of other swing objects.

 Basic functionality:

 IplImage grabbedImage = opencv_highgui.cvQueryFrame(capture);
  while  ((grabbedImage = opencv_highgui.cvQueryFrame(capture)) !=null)
 	 jTextPane1.insertIcon(new ImageIcon(grabbedImage.getBufferedImage()));


Now, we get problems because this shows multiple video frames. Obviously, it keeps inserting a new image, so they will be placed on top of each other. 

 We tried to clear the pane and then repaint by doing like this instead:

  this.removeIcon();
               jTextPane1.repaint();
	 jTextPane1.insertIcon(new ImageIcon(grabbedImage.getBufferedImage()));

 Where removeIcon looks as can be seen below:

 But now, it gets flashy, the user can clearly see how the pane is cleared and then repainted, just a flashy slow change of images.

 So is there any way to get around both of these issues?

 

 



 
 private void removeIcon()
  {
    for (int i=0; i<jTextpane1.getStyledDocument().getLength(); i++)
    {
      Element element =
               jTextPane1.getStyledDocument().getCharacterElement(i);
      AttributeSet attributeSet = element.getAttributes();
      Icon icon = StyleConstants.getIcon(attributeSet);
      if (icon != null)
      {
        try
        {
          
          jTextPane1.getStyledDocument().remove(i, 1);
          jTextPane1pane.getStyledDocument().insertString(i, " ", new
              SimpleAttributeSet());
          icon = null;
        }
        catch (Exception exc)
        {
          System.out.println("Exception : " + exc.getMessage());
        }
      }
    }
  }

 

Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Animations with jTextPane H.L@operamail.com - 2015-05-10 02:57 -0700
  Re: Animations with jTextPane Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2015-05-10 07:49 -0700
    Re: Animations with jTextPane H.L@operamail.com - 2015-05-10 08:08 -0700
      Re: Animations with jTextPane Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2015-05-10 08:54 -0700
      Re: Animations with jTextPane Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2015-05-10 10:28 -0700
        Re: Animations with jTextPane H.L@operamail.com - 2015-05-10 13:28 -0700
          Re: Animations with jTextPane Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2015-05-10 14:17 -0700

csiph-web