mhm.. not really a solution.

I assume that
- all features to be displayed are stored in one layer
- only one(!) feature needs to be displayed at a time step
- one attribute of the layer has the information about the the order the 
features are to be displayed.

Then I just display the features after each other by modifying the 
FeatureCollection of the Layer.

Of course I can send the code if someone wants to see/use it.

So, quite a bit of assumptions which works for my special case - seing 
how a bear home range evolves over time with the number of new GPS 
points collected (a home range is a polygon or a multi polygon and I 
have almost as much polygons as GPS point).

stefan

Larry Becker schrieb:
> Hi Elton,
> 
>   Make your loop variable a class variable.  Have the loop control and 
> attribute update inside the event handler.  While the loop is still 
> going invoke the event handler again, also from within the event 
> handler.  Once you have set up the event handler and invoked it once, 
> just fall off the end of the execute routine.  I would give an example,  
> but I'm away from my development system.
> 
>   It sounds like Stefan also has a need for animation.  Perhaps he will 
> show you his solution.
> 
> Larry
> 
> On Fri, Jul 9, 2010 at 10:41 PM, Elton Chan <elton.c...@yahoo.com 
> <mailto:elton.c...@yahoo.com>> wrote:
> 
>     Dear Larry,
> 
>     Could you tell me how it works? It seems a loop is required for
>     continous update an attribute. How can it be replaced by a event
>     handler?
> 
>     Thanks,
>     Elton
> 
> 
>     --- On *Fri, 7/2/10, Larry Becker /<becker.la...@gmail.com
>     <mailto:becker.la...@gmail.com>>/* wrote:
> 
> 
>         From: Larry Becker <becker.la...@gmail.com
>         <mailto:becker.la...@gmail.com>>
>         Subject: Re: [JPP-Devel] how to refresh a layer in run time
>         To: "OpenJump develop and use"
>         <jump-pilot-devel@lists.sourceforge.net
>         <mailto:jump-pilot-devel@lists.sourceforge.net>>
>         Date: Friday, July 2, 2010, 5:33 PM
> 
> 
>         Hi Elton,
> 
>           I think you are going to have to restructure you code from a
>         loop to be an event handler that triggers itself until the end
>         of some counter.  That is the only sure way to play nice with
>         the GUI.
> 
>         Larry
> 
>         On Fri, Jul 2, 2010 at 12:06 PM, Elton Chan
>         <elton.c...@yahoo.com
>         <http://mc/compose?to=elton.c...@yahoo.com>> wrote:
> 
>             Hi Larry,
> 
>             I've tried the LayerView Panel().repaint() with
>             InvokeAndWait(). However, the layerpanel still cannot refesh
>             and the for loop continues until all finishing all the
>             Recordset.
> 
>             The following code is added after attribute update:
>             if (SwingUtilities.isEventDispatchThread()) {
>                             context.getLayerViewPanel().repaint();
>                             System.out.println("repaint!!"); <<<< Always
>             hit this line.
>                         }
>                         else {
>                             SwingUtilities.invokeAndWait(new Runnable( ) {
>                                 public void run( ) {
>                                     context.getLayerViewPanel().repaint();
>                                     System.out.println("repaint!!!");
>                                }
>                             });
>                         }
> 
>             Any idea?
> 
> 
>             --- On *Thu, 7/1/10, Larry Becker /<becker.la...@gmail.com
>             <http://mc/compose?to=becker.la...@gmail.com>>/* wrote:
> 
> 
>                 From: Larry Becker <becker.la...@gmail.com
>                 <http://mc/compose?to=becker.la...@gmail.com>>
>                 Subject: Re: [JPP-Devel] how to refresh a layer in run time
>                 To: "OpenJump develop and use"
>                 <jump-pilot-devel@lists.sourceforge.net
>                 <http://mc/compose?to=jump-pilot-de...@lists.sourceforge.net>>
>                 Date: Thursday, July 1, 2010, 2:30 PM
> 
> 
>                 Sorry, Elton, not NIls.  I answered so many questions
>                 that I got confused about who I was answering.  :-)
> 
>                 On Thu, Jul 1, 2010 at 8:24 AM, Larry Becker
>                 <becker.la...@gmail.com
>                 <http://mc/compose?to=becker.la...@gmail.com>> wrote:
> 
>                     Hi Nils,
> 
>                       I believe you might be running into problems
>                     updating because your loop is blocking the GUI
>                     thread.  You might try a LayerViewPanel.repaint()
>                     using invokeAndWait().
> 
>                     Larry
> 
> 
>                     On Thu, Jul 1, 2010 at 6:42 AM, Elton Chan
>                     <elton.c...@yahoo.com
>                     <http://mc/compose?to=elton.c...@yahoo.com>> wrote:
> 
>                         Hi there,
> 
>                         I would like to refresh a layer after changing
>                         attribute of each feature in the layer based on
>                         an event table. The event table records
>                         attribute assigned to each feature at specified
>                         stage. Following is the schema of the event table:
> 
>                         Event(
>                         StageID int, // StageID defines sequence of the
>                         event
>                         Feature01 int, // value to be assigned to feature 01
>                         Feature02 int, // value to be assigned to feature 02
>                         ...
>                         Feature10 int)
> 
>                         Based on the StageID sequence, values for each
>                         feature would be retrieved and updated to
>                         corresponding feature. Finally,  update value
>                         would be visualized by unique colortheming.
>                         However, it seems the layer refreshing can only
>                         be effective outside the ResultSet loop of the
>                         event table.
> 
>                         The following is the program codes:
> 
>                         Inside execute(PlugInContext context)
>                         // get a layer
>                         lyr = context.getLayerManager().getLayer("postgis");
>                         //create a Resultset RS
>                         ResultSet RS stat.executeQuery("select * from
>                         Event");
>                         while (RS.next())
>                         {
>                         updatePostgisLayer(lyr, RS);//This function
>                         updates feature in the layer
>                         }
>                         < layer refreshes after the looping all the
>                         resultset.
> 
>                         My question is how to refresh the layer once
>                         attribute values are updated for each each row
>                         of the RecordSet, i.e. immediately after the
>                         updatePostgisLayer function.
> 
>                         If I change the query to retrieve specify row
>                         (i.e. single row only), layer can be refreshed.
>                         But it requires to activate it manually for each
>                         update.
> 
>                         I tried to add
>                         
> lyr.fireLayerChanged(LayerEventType.APPEARANCE_CHANGED);
>                         or lyr.fireAppearanceChanged() after the
>                         updatePostgisLayer function but it didn't work.
> 
>                         Anyone can help?
> 
>                         thanks,
>                         Elton
> 
> 
> 
> 
>                         
> ------------------------------------------------------------------------------
>                         This SF.net email is sponsored by Sprint
>                         What will you do first with EVO, the first 4G phone?
>                         Visit sprint.com/first <http://sprint.com/first>
>                         -- http://p.sf.net/sfu/sprint-com-first
>                         _______________________________________________
>                         Jump-pilot-devel mailing list
>                         Jump-pilot-devel@lists.sourceforge.net
>                         
> <http://mc/compose?to=jump-pilot-de...@lists.sourceforge.net>
>                         
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
> 
>                 -----Inline Attachment Follows-----
> 
> 
>                 
> ------------------------------------------------------------------------------
>                 This SF.net email is sponsored by Sprint
>                 What will you do first with EVO, the first 4G phone?
>                 Visit sprint.com/first <http://sprint.com/first> --
>                 http://p.sf.net/sfu/sprint-com-first
> 
>                 -----Inline Attachment Follows-----
> 
> 
>                 _______________________________________________
>                 Jump-pilot-devel mailing list
>                 Jump-pilot-devel@lists.sourceforge.net
>                 <http://mc/compose?to=jump-pilot-de...@lists.sourceforge.net>
>                 https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
>             
> ------------------------------------------------------------------------------
>             This SF.net email is sponsored by Sprint
>             What will you do first with EVO, the first 4G phone?
>             Visit sprint.com/first <http://sprint.com/first> --
>             http://p.sf.net/sfu/sprint-com-first
>             _______________________________________________
>             Jump-pilot-devel mailing list
>             Jump-pilot-devel@lists.sourceforge.net
>             <http://mc/compose?to=jump-pilot-de...@lists.sourceforge.net>
>             https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
>         -----Inline Attachment Follows-----
> 
>         
> ------------------------------------------------------------------------------
>         This SF.net email is sponsored by Sprint
>         What will you do first with EVO, the first 4G phone?
>         Visit sprint.com/first <http://sprint.com/first> --
>         http://p.sf.net/sfu/sprint-com-first
> 
>         -----Inline Attachment Follows-----
> 
>         _______________________________________________
>         Jump-pilot-devel mailing list
>         Jump-pilot-devel@lists.sourceforge.net
>         <http://mc/compose?to=jump-pilot-de...@lists.sourceforge.net>
>         https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
>     
> ------------------------------------------------------------------------------
>     This SF.net email is sponsored by Sprint
>     What will you do first with EVO, the first 4G phone?
>     Visit sprint.com/first <http://sprint.com/first> --
>     http://p.sf.net/sfu/sprint-com-first
>     _______________________________________________
>     Jump-pilot-devel mailing list
>     Jump-pilot-devel@lists.sourceforge.net
>     <mailto:Jump-pilot-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to