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


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

Re: Animations with jTextPane

Newsgroups comp.lang.java.programmer
Date 2015-05-10 08:08 -0700
References <aabd37b8-2013-4bcb-abef-c787b5c92640@googlegroups.com> <minr3t$aua$1@dont-email.me>
Message-ID <641b695c-da1e-47d7-95a0-554df722e433@googlegroups.com> (permalink)
Subject Re: Animations with jTextPane
From H.L@operamail.com

Show all headers | View raw


 Thank you for helping me with this. We have not tried this, but please note that we are continouusly changing what image is shown. The web cam captures a new image and this is shown on the screen, how could we do this updating with setDocument()?


Den søndag den 10. maj 2015 kl. 16.49.42 UTC+2 skrev Knute Johnson:
> On 5/10/2015 02:57, H.L@operamail.com wrote:
> >
> >   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());
> >          }
> >        }
> >      }
> >    }
> >
> >
> >
> 
> Have you tried just putting the image in a StyledDocument and using 
> setDocument()?
> 
> -- 
> 
> Knute Johnson

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | 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