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