/** * Shows or hide this frame. This means it gets (un)registered at the session. * * @see org.wings.session.Session#getFrames() */ @Override public void setVisible(boolean visible) { if (visible != isVisible()) { if (visible) { List newHeaders = new ArrayList(SessionHeaders.getInstance().getHeaders()); for (Object oldHeaders : headers) { if (!newHeaders.contains(oldHeaders)) { newHeaders.add(oldHeaders); } } headers = newHeaders; getSession().addFrame(this); register(); } else { getSession().removeFrame(this); unregister(); } super.setVisible(visible); setRecursivelyVisible(visible); } }