Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #31665
| 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 |
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
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