コード例 #1
0
 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();
   }
 }