/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.clothocad.tool.helloworld;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import org.openide.windows.TopComponent;
/**
*
* @author jenhan
*/
public class HelloWorldController {
public HelloWorldController(JFrame frame) {
_frameView = frame;
_isTC = false;
}
private TopComponent _tcView;
private JFrame _frameView;
private boolean _isTC;
public void switchViews() {
if (_isTC) {
Component[] components = _tcView.getComponents();
_frameView = new JFrame();
_frameView.setContentPane((Container) components[1]);
_frameView.setJMenuBar((JMenuBar) components[0]);
_frameView.pack();
_frameView.setVisible(true);
_isTC = false;
_tcView.close();
} else {
final JComponent guiContentPane = (JComponent) _frameView.getContentPane();
final JMenuBar menu = _frameView.getJMenuBar();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
_tcView = new TopComponent();
_tcView.setLayout(new BorderLayout());
JScrollPane sp = new JScrollPane(guiContentPane);
_tcView.add(menu, BorderLayout.NORTH);
_tcView.add(sp, BorderLayout.CENTER);
_tcView.setName("Hello World");
_tcView.open();
_tcView.requestActive();
}
});
_frameView.dispose();
_isTC = true;
}
}
}