[cp-patches] FYI: Focus fixlet
Hey, A tiny path (already committed) for the focus work done recently, fixing the null pointer exceptions. Cheers, Francis 2006-07-25 Francis Kung [EMAIL PROTECTED] * java/awt/DefaultKeyboardFocusManager.java (dispatchEvent): Add check for valid component. Index: java/awt/DefaultKeyboardFocusManager.java === RCS file: /cvsroot/classpath/classpath/java/awt/DefaultKeyboardFocusManager.java,v retrieving revision 1.19 diff -u -r1.19 DefaultKeyboardFocusManager.java --- java/awt/DefaultKeyboardFocusManager.java 25 Jul 2006 13:21:04 - 1.19 +++ java/awt/DefaultKeyboardFocusManager.java 25 Jul 2006 22:00:36 - @@ -167,7 +167,8 @@ setGlobalFocusedWindow (target); FocusTraversalPolicy p = target.getFocusTraversalPolicy(); Component toFocus = p.getInitialComponent(target); -toFocus.requestFocusInWindow(); +if (toFocus != null) + toFocus.requestFocusInWindow(); } else if (e.id != WindowEvent.WINDOW_LOST_FOCUS e.id != WindowEvent.WINDOW_DEACTIVATED)
[cp-patches] FYI: focus fixlet for java.awt.Component
Hi, I committed the attached patch which enables lightweight components to receive focus through mouse clicks. 2005-05-20 Roman Kennke [EMAIL PROTECTED] * java/awt/Component.java (dispatchEventImpl): Let MouseEvents trigger a focus change on lightweight components. /Roman Index: java/awt/Component.java === RCS file: /cvsroot/classpath/classpath/java/awt/Component.java,v retrieving revision 1.56 diff -u -r1.56 Component.java --- java/awt/Component.java 18 May 2005 15:03:53 - 1.56 +++ java/awt/Component.java 20 May 2005 14:12:06 - @@ -1149,7 +1149,9 @@ public Point getLocationOnScreen() { if (! isShowing()) - throw new IllegalComponentStateException(component not showing); + throw new IllegalComponentStateException(component + + getClass().getName() + + not showing); // We know peer != null here. return peer.getLocationOnScreen(); } @@ -4762,6 +4764,10 @@ .getCurrentKeyboardFocusManager() .dispatchEvent(e)) return; + case MouseEvent.MOUSE_PRESSED: +if (isLightweight()) + requestFocus(); +break; } } processEvent (e); ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches