Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / libjava / classpath / javax / swing / JApplet.java
blobe90c451891eef3c30d72c68ed21f030c79c039e7
1 /* JApplet.java --
2 Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 02110-1301 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
39 package javax.swing;
41 import java.applet.Applet;
42 import java.awt.BorderLayout;
43 import java.awt.Component;
44 import java.awt.Container;
45 import java.awt.Dimension;
46 import java.awt.Graphics;
47 import java.awt.LayoutManager;
48 import java.awt.event.KeyEvent;
50 import javax.accessibility.Accessible;
51 import javax.accessibility.AccessibleContext;
53 /**
54 * A top-level container that is usually used in web browsers.
56 * @author original author unknown
58 public class JApplet extends Applet
59 implements RootPaneContainer, Accessible
61 /**
62 * Provides accessibility support for <code>JApplet</code>.
64 protected class AccessibleJApplet extends Applet.AccessibleApplet
66 /**
67 * Creates a new instance of <code>AccessibleJApplet</code>.
69 public AccessibleJApplet()
71 super();
72 // Nothing to do here.
76 /**
77 * The accessible context for this <code>JApplet</code>.
79 protected AccessibleContext accessibleContext;
81 private static final long serialVersionUID = 7269359214497372587L;
83 protected JRootPane rootPane;
85 /**
86 * @specnote rootPaneCheckingEnabled is false to comply with J2SE 5.0
88 protected boolean rootPaneCheckingEnabled = false;
90 public JApplet()
92 super.setLayout(new BorderLayout(1, 1));
93 getRootPane(); // Will do set/create.
94 setRootPaneCheckingEnabled(true); // Init stage is now over.
97 public Dimension getPreferredSize()
99 return super.getPreferredSize();
102 public void setLayout(LayoutManager manager)
104 // Check if we're in initialization stage. If so, call super.setLayout
105 // otherwise, valid calls go to the content pane
106 if (isRootPaneCheckingEnabled())
107 getContentPane().setLayout(manager);
108 else
109 super.setLayout(manager);
112 public void setLayeredPane(JLayeredPane layeredPane)
114 getRootPane().setLayeredPane(layeredPane);
117 public JLayeredPane getLayeredPane()
119 return getRootPane().getLayeredPane();
122 public JRootPane getRootPane()
124 if (rootPane == null)
125 setRootPane(createRootPane());
126 return rootPane;
129 protected void setRootPane(JRootPane root)
131 if (rootPane != null)
132 remove(rootPane);
134 rootPane = root;
135 add(rootPane, BorderLayout.CENTER);
138 protected JRootPane createRootPane()
140 return new JRootPane();
143 public Container getContentPane()
145 return getRootPane().getContentPane();
148 public void setContentPane(Container contentPane)
150 getRootPane().setContentPane(contentPane);
153 public Component getGlassPane()
155 return getRootPane().getGlassPane();
158 public void setGlassPane(Component glassPane)
160 getRootPane().setGlassPane(glassPane);
163 protected void addImpl(Component comp, Object constraints, int index)
165 // If we're adding in the initialization stage use super.add.
166 // Otherwise pass the add onto the content pane.
167 if (isRootPaneCheckingEnabled())
168 getContentPane().add(comp, constraints, index);
169 else
170 super.addImpl(comp, constraints, index);
173 public AccessibleContext getAccessibleContext()
175 if (accessibleContext == null)
176 accessibleContext = new AccessibleJApplet();
177 return accessibleContext;
180 public JMenuBar getJMenuBar()
182 return getRootPane().getJMenuBar();
185 public void setJMenuBar(JMenuBar menubar)
187 getRootPane().setJMenuBar(menubar);
190 protected String paramString()
192 return super.paramString();
195 protected void processKeyEvent(KeyEvent e)
197 super.processKeyEvent(e);
200 public void remove(Component comp)
202 // If we're removing the root pane, use super.remove. Otherwise
203 // pass it on to the content pane instead
204 if (comp == rootPane)
205 super.remove(rootPane);
206 else
207 getContentPane().remove(comp);
210 protected boolean isRootPaneCheckingEnabled()
212 return rootPaneCheckingEnabled;
215 protected void setRootPaneCheckingEnabled(boolean enabled)
217 rootPaneCheckingEnabled = enabled;
220 public void update(Graphics g)
222 paint(g);