AppContext issue in Apple Java 6 -- same issue in Oracle Java 7? (original) (raw)

Artem Ananiev artem.ananiev at oracle.com
Tue Jul 2 02:42:17 PDT 2013


Cross-posting to swing-dev and awt-dev.

On 7/2/2013 6:10 AM, Leonid Romanov wrote:

On Jun 28, 2013, at 9:32 PM, Artem Ananiev <artem.ananiev at oracle.com> wrote:

This is a bug in eAWT, which uses SwingUtilities.invokeLater(), but should use SunToolkit.postEvent(AppContext, AWTEvent) or similar. What do you think about introducing a new API, like SwingUtilities.invokeLater(Runnable runnable, Component target) which would invoke the runnable using the target's AppContext? It might be useful both for AWT/Swing engineers and apps writers.

I don't think SwingUtilities/EventQueue is the right place for such API. It's useless for app developers, as application code should always be in the right AppContext, i.e. invokeLater(Runnable) should always post the runnable to the right place.

Such API is useful, when your code is on a thread like the toolkit thread (AppKit thread on OS X). So a better place would be SunToolkit or SwingUtilities2, but SunToolkit already has a method named executeOnEventHandlerThread().

Thanks,

Artem

Leonid.



More information about the macosx-port-dev mailing list