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 958ba2240f6a61ac114724a7f06f275771fd13ff..8ddd039acf167ca7de5edd51ba0b467c9605f9b2 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 @@ -32,7 +32,6 @@ import fr.soleil.docking.vl.SoleilDockingDesktop; public class VlDockView implements IView, Dockable, DockingActionListener, FocusListener { protected Object id; protected boolean enabled; - protected boolean visible; protected String title; protected Component component; protected Icon icon; @@ -84,24 +83,25 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus @Override public boolean isVisible() { DockableState state = dockingDesktop.getDockableState(this); - boolean tempVisible = false; + boolean visible = false; if (state != null) { Location location = state.getLocation(); - tempVisible = (location != Location.CLOSED) && (location != Location.HIDDEN); + visible = (location != Location.CLOSED) && (location != Location.HIDDEN); } - return visible || tempVisible; + return visible; } @Override public void setVisible(boolean visible) { - this.visible = visible; - if (visible) { - dockingDesktop.showDockable(this); - } else { - dockingDesktop.close(this); + if (visible != isVisible()) { + if (visible) { + dockingDesktop.showDockable(this); + } else { + dockingDesktop.close(this); + } + component.setVisible(visible); + component.setEnabled(visible); } - component.setVisible(visible); - component.setEnabled(visible); } @Override