package javax.swing;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.LayoutManager;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import javax.accessibility.AccessibleContext;
public class JFrame extends Frame implements WindowConstants, RootPaneContainer
{
private static final long serialVersionUID = -3362141868504252139L;
protected AccessibleContext accessibleContext;
private int close_action = HIDE_ON_CLOSE;
private static boolean defaultLookAndFeelDecorated = false;
public static void setDefaultLookAndFeelDecorated(boolean d)
{
defaultLookAndFeelDecorated = d;
}
public static boolean isDefaultLookAndFeelDecorated()
{
return defaultLookAndFeelDecorated;
}
public JFrame()
{
super("JFrame");
frameInit();
}
public JFrame(String title)
{
super(title);
frameInit();
}
private boolean checking;
protected JRootPane rootPane;
protected void frameInit()
{
super.setLayout(new BorderLayout(1, 1));
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
getRootPane(); }
public Dimension getPreferredSize()
{
Dimension d = super.getPreferredSize();
return d;
}
public JMenuBar getJMenuBar()
{ return getRootPane().getJMenuBar(); }
public void setJMenuBar(JMenuBar menubar)
{ getRootPane().setJMenuBar(menubar); }
public void setLayout(LayoutManager manager)
{ super.setLayout(manager); }
public void setLayeredPane(JLayeredPane layeredPane)
{ getRootPane().setLayeredPane(layeredPane); }
public JLayeredPane getLayeredPane()
{ return getRootPane().getLayeredPane(); }
public JRootPane getRootPane()
{
if (rootPane == null)
setRootPane(createRootPane());
return rootPane;
}
public void setRootPane(JRootPane root)
{
if (rootPane != null)
remove(rootPane);
rootPane = root;
add(rootPane, BorderLayout.CENTER);
}
public JRootPane createRootPane()
{ return new JRootPane(); }
public Container getContentPane()
{ return getRootPane().getContentPane(); }
public void setContentPane(Container contentPane)
{ getRootPane().setContentPane(contentPane); }
public Component getGlassPane()
{ return getRootPane().getGlassPane(); }
public void setGlassPane(Component glassPane)
{ getRootPane().setGlassPane(glassPane); }
protected void addImpl(Component comp, Object constraints, int index)
{ super.addImpl(comp, constraints, index); }
public void remove(Component comp)
{ getContentPane().remove(comp); }
protected boolean isRootPaneCheckingEnabled()
{ return checking; }
protected void setRootPaneCheckingEnabled(boolean enabled)
{ checking = enabled; }
public void update(Graphics g)
{ paint(g); }
protected void processKeyEvent(KeyEvent e)
{ super.processKeyEvent(e); }
public AccessibleContext getAccessibleContext()
{
return accessibleContext;
}
public int getDefaultCloseOperation()
{ return close_action; }
protected String paramString()
{ return "JFrame"; }
protected void processWindowEvent(WindowEvent e)
{
super.processWindowEvent(e);
switch (e.getID())
{
case WindowEvent.WINDOW_CLOSING:
{
switch(close_action)
{
case EXIT_ON_CLOSE:
{
System.exit(0);
break;
}
case DISPOSE_ON_CLOSE:
{
dispose();
break;
}
case HIDE_ON_CLOSE:
{
setVisible(false);
break;
}
case DO_NOTHING_ON_CLOSE:
break;
}
break;
}
case WindowEvent.WINDOW_CLOSED:
case WindowEvent.WINDOW_OPENED:
case WindowEvent.WINDOW_ICONIFIED:
case WindowEvent.WINDOW_DEICONIFIED:
case WindowEvent.WINDOW_ACTIVATED:
case WindowEvent.WINDOW_DEACTIVATED:
break;
}
}
public void setDefaultCloseOperation(int operation)
{
SecurityManager sm = System.getSecurityManager();
if (sm != null && operation == EXIT_ON_CLOSE)
sm.checkExit(0);
if (operation != EXIT_ON_CLOSE && operation != DISPOSE_ON_CLOSE
&& operation != HIDE_ON_CLOSE && operation != DO_NOTHING_ON_CLOSE)
throw new IllegalArgumentException("operation = " + operation);
close_action = operation;
}
}