On Sat, Feb 4, 2017 at 3:52 PM, Vladimir Sitnikov < [email protected]> wrote:
> Felix> The timer lives in the awt thread, so we need no invokeLater. Or do > I miss > Felix> something? > > I thought it was java.util.Timer. > I did not notice that was javax.swing.Timer. swing timer is fine. > > Philippe>I agree. The only reason I would see for calling invokeLater would > maybe to > Philippe>avoid freezing UI if the call takes more than some limit > > invokeLater is not required provided the timer is swing timer. > I agree it's not required but this might be interesting to consider. http://stackoverflow.com/questions/15556646/why-are-there-two-timer-classes-in-javaone-under-javax-swing-one-under-java-ut > > I wonder if we can rework log panel into "append" calls instead of "set > text from scratch". > I remember I had tried something around that without success but if you have an idea . > > Philippe>For me there is only 1 Timer thread no ? > > I'm not sure if we can reuse that swing timer to aggregate events form > listeners (e.g. statistics listeners, etc). > > Felix>The component is set to an empty text > > Oh, I did not notice that. On the other hand, it looks awkward. > I find "buffer.clear(); modified=true;" easier to reason about since that > results in a single place where the textarea gets updated. > > > PS. Are you sure "events.clear()" is thread-safe? > I think indeed there might be a problem here > > PPS. Can we move format.format(logEvent) out of syncrhonized(events) block? > > Vladimir > -- Cordialement. Philippe Mouawad.
