From 8c85fa6923f1fe2dc09f1aa3025babf9c3a7afe2 Mon Sep 17 00:00:00 2001
From: Raphael Girardot <raphael.girardot@synchrotron-soleil.fr>
Date: Mon, 2 Nov 2015 16:33:46 +0000
Subject: [PATCH] minor changes

---
 .../java/fr/soleil/docking/vl/view/VlDockView.java   | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java b/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
index ca1d81a..af2b355 100644
--- a/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
+++ b/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
@@ -111,27 +111,27 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
     public void select() {
         setVisible(true);
         // TODO Doesn't work !!!!!!
-        focus(component);
+        focus(component, true);
         focusGained(new FocusEvent(component, FocusEvent.FOCUS_GAINED));
     }
 
-    protected static boolean focus(Component comp) {
+    protected static boolean focus(Component comp, boolean forceFocus) {
         boolean focused = false;
         if (comp != null) {
-            if (comp.isVisible() && comp.isShowing()) {
+            if (forceFocus || (comp.isVisible() && comp.isShowing())) {
                 if (comp.isFocusable()) {
                     comp.requestFocus();
+                    comp.requestFocusInWindow();
                     focused = true;
                 } else if (comp instanceof Container) {
                     Container container = (Container) comp;
                     for (Component child : container.getComponents()) {
-                        if (focus(child)) {
+                        if (focus(child, false)) {
+                            focused = true;
                             break;
                         }
                     }
                 }
-            } else {
-                comp.setVisible(true);
             }
         }
         return focused;
-- 
GitLab