private void captureWindow(View _aView, String _aWindow) { if (_aWindow == null) { return; } RootPaneContainer root; if (_parentFrame != null) { root = _parentFrame; } else { root = this; } Component comp = _aView.getComponent(_aWindow); if (comp == null) { return; } // Dimension size = comp.getSize(); if (comp instanceof DrawingFrame) { comp.setVisible(true); Container contentPane = ((RootPaneContainer) comp).getContentPane(); contentPane.setVisible(true); root.setContentPane(contentPane); Component glassPane = ((RootPaneContainer) comp).getGlassPane(); root.setGlassPane(glassPane); glassPane.setVisible(true); ((DrawingFrame) comp).setKeepHidden(true); ((DrawingFrame) comp).setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } else if (comp instanceof JDialog) { comp.setVisible(true); Container contentPane = ((RootPaneContainer) comp).getContentPane(); contentPane.setVisible(true); root.setContentPane(contentPane); Component glassPane = ((RootPaneContainer) comp).getGlassPane(); root.setGlassPane(glassPane); glassPane.setVisible(true); ((JDialog) comp).dispose(); } else { root.getContentPane().setLayout(new java.awt.BorderLayout()); root.getContentPane().add(comp, java.awt.BorderLayout.CENTER); root.getContentPane().validate(); Container oldParent = comp.getParent(); if (oldParent != null) { oldParent.validate(); } } if (_parentFrame != null) { _parentFrame.pack(); } }