<AWT Dev> [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Aug 20 03:29:17 PDT 2012

A few question
  - Is it ok that previously we have lwkfm per appcontext but not now?
  - javadoc for 
KeyboardFocusManagerPeerProvider.getKeyboardFocusManagerPeer() is not 
  - synchronisation model was changed for LW and X kfmp from internal 
object to synchronisation on this, but on windows there is no 
synchronisation this is expected?

17.08.2012 21:59, Leonid Romanov wrote:
> Hi,
> Please review a fix for CR 7124375: [macosx] Focus isn't transfered as expected between components.
> The main issue addressed by this fix is that information about current focused window and focus owner isn't shared among LWKeyboardFocusManagerPeer instances. Also, while the current KeyboardFocusManager code makes it look like each KeyboardFocusManager instance needs its own peer instance, the reality is different because both WKeyboardFocusManagerPeer and XKeyboardManagerPeer doesn't have non static fields. In other words, all the WKeyboardFocusManagerPeer/XKeyboardManagerPeer fields are static. Therefore, there is no need in in multiple peer instances, one singleton peer shared among all the KeyboardFocusManager instances is enough. This fix addresses that issue as well by explicitly turning KeyboardManagerPeer implementations into singletons for the sake of cleaner code.
> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124375
> Webrev: http://cr.openjdk.java.net/~leonidr/7124375/webrev.00/
> Thanks,
> Leonid.

Best regards, Sergey.

More information about the awt-dev mailing list