It sounds like you might still be updating the UI from the background thread. Have you updated your code to use ApplicationContext#queueCallback()?
On Nov 19, 2011, at 3:56 AM, Jérôme Serré wrote: > Ok, I didn’t know. It works. Thank you Greg. > But… there is a but J > For the changes to appear on the chart I must "move" by hand. How can I get > it to refresh automatically ? > > Jérôme Serré > ____________________________ > Manage your cellar > http://www.macave.eu > > > De : Greg Brown [mailto:[email protected]] > Envoyé : vendredi 18 novembre 2011 23:11 > À : [email protected] > Objet : Re: How to refresh a HighLowChartView > > You can't call any method that will update the UI from a background thread. > Most UI toolkits have a similar restriction. > > On Nov 18, 2011, at 5:03 PM, Jérôme Serré wrote: > > > Correct. In fact in the run method (daemon) I add a “Record” in a pivot > arrayList and my Chart Class (and some others) listen this event : > public void itemInserted(List<T> list, int index) { > “Update ChartData” > } > Ok, I think, I cannot use the event ? > Jérôme Serré > ____________________________ > Manage your cellar > http://www.macave.eu > > > De : Greg Brown [mailto:[email protected]] > Envoyé : vendredi 18 novembre 2011 21:17 > À : [email protected] > Objet : Re: How to refresh a HighLowChartView > > I assume you have an implementation of Runnable that performs the background > action of your thread, correct? When the thread's run() method completes, you > need to call ApplicationContext#queueCallback() with a new Runnable that > updates your UI. > > > On Nov 18, 2011, at 2:59 PM, Jérôme Serré wrote: > > > > I’m really sorry but i don’t understand. > > public class Test implements Application { > **** some components *** > final Thread t = ExtractProcess.getProcess(resolution, data, chart); > ApplicationContext.queueCallback(t).run(); > > > The thread is running but none graphics elements are visible on ihm ! > > Jérôme Serré > ____________________________ > Manage your cellar > http://www.macave.eu > > > De : Greg Brown [mailto:[email protected]] > Envoyé : vendredi 18 novembre 2011 19:29 > À : [email protected] > Objet : Re: How to refresh a HighLowChartView > > I tested without thread and it works, I use Thread not TaskAdapter or > ApplicationContext#queueCallback() > May I keep Thread and use ApplicationContext#queueCallback() > > Yes. > > > > > And How to use it ? > > Just put the code you want to run on the UI thread in the run() method (same > as SwingUtilities#invokeLater() in Swing). > > > > >
