java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Panel
java.applet.Applet
javax.swing.JApplet
public class JApplet
java.applet.Applet 的扩展版,它添加了对 JFC/Swing 组件架构的支持。有关使用 JApplet 的面向任务的文档,请参阅 The Java Tutorial 中的 How to Make Applets 一节。
JApplet 类与 java.applet.Applet 轻微不兼容。JApplet 包含一个 JRootPane 作为其唯一子类。contentPane 应该是 JApplet 任何子类的父类。作为一个便捷的 add 方法及其变体,remove 和 setLayout 被重写,其可以在必要时转发给 contentPane。这意味着您可以编写:
applet.add(child);
并且可以将子类添加到
contentPane 中。
contentPane 始终是非
null 的。试图将它设置为
null 会导致
JApplet 抛出异常。默认
contentPane 将在其上设置
BorderLayout 管理器。有关添加、移除和设置
JApplet 的
LayoutManager 的细节,请参阅
RootPaneContainer。
有关 contentPane、glassPane 和 layeredPane 属性的完整描述,请参阅 JRootPane 文档。
警告: Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
RootPaneContainer
| 嵌套类摘要 | |
|---|---|
protected class |
JApplet.AccessibleJApplet 此类实现对 JApplet 类的可访问性支持。 |
| 从类 java.applet.Applet 继承的嵌套类/接口 |
|---|
Applet.AccessibleApplet |
| 从类 java.awt.Panel 继承的嵌套类/接口 |
|---|
Panel.AccessibleAWTPanel |
| 从类 java.awt.Container 继承的嵌套类/接口 |
|---|
Container.AccessibleAWTContainer |
| 从类 java.awt.Component 继承的嵌套类/接口 |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| 字段摘要 | |
|---|---|
protected AccessibleContext |
accessibleContext |
protected JRootPane |
rootPane |
protected boolean |
rootPaneCheckingEnabled 如果为 true,则对 add 和 setLayout 的调用将转发给 contentPane。 |
| 从类 java.awt.Component 继承的字段 |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| 从接口 java.awt.image.ImageObserver 继承的字段 |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| 构造方法摘要 | |
|---|---|
JApplet() 创建一个 swing applet 实例。 |
|
| 方法摘要 | |
|---|---|
protected void |
addImpl(Component comp, Object constraints, int index) 添加指定的子 Component。 |
protected JRootPane |
createRootPane() 构造方法调用此方法创建默认 rootPane。 |
AccessibleContext |
getAccessibleContext() 获取与此 JApplet 关联的 AccessibleContext。 |
Container |
getContentPane() 返回此 applet 的 contentPane 对象。 |
Component |
getGlassPane() 返回此 applet 的 glassPane 对象。 |
Graphics |
getGraphics() 为组件创建一个图形上下文。 |
JMenuBar |
getJMenuBar() 返回此 applet 上的菜单栏设置。 |
JLayeredPane |
getLayeredPane() 返回此 applet 的 layeredPane 对象。 |
JRootPane |
getRootPane() 返回此 applet 的 rootPane 对象。 |
TransferHandler |
getTransferHandler() 获取 transferHandler 属性。 |
protected boolean |
isRootPaneCheckingEnabled() 返回是否将对 add 和 setLayout 的调用转发给 contentPane。 |
protected String |
paramString() 返回此 JApplet 的字符串表示形式。 |
void |
remove(Component comp) 从容器中移除指定的组件。 |
void |
repaint(long time, int x, int y, int width, int height) 在 time 毫秒内重绘此组件的指定矩形区域。 |
void |
setContentPane(Container contentPane) 设置 contentPane 属性。 |
void |
setGlassPane(Component glassPane) 设置 glassPane 属性。 |
void |
setJMenuBar(JMenuBar menuBar) 设置此 applet 的菜单栏。 |
void |
setLayeredPane(JLayeredPane layeredPane) 设置 layeredPane 属性。 |
void |
setLayout(LayoutManager manager) 设置 LayoutManager。 |
protected void |
setRootPane(JRootPane root) 设置 rootPane 属性。 |
protected void |
setRootPaneCheckingEnabled(boolean enabled) 设置是否将对 add 和 setLayout 的调用转发给 contentPane。 |
void |
setTransferHandler(TransferHandler newHandler) 设置 transferHandler 属性,该属性是支持将数据传输到此组件的机制。 |
void |
update(Graphics g) 调用 paint(g)。 |
| 从类 java.applet.Applet 继承的方法 |
|---|
destroy, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop |
| 从类 java.awt.Panel 继承的方法 |
|---|
addNotify |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 字段详细信息 |
|---|
protected JRootPane rootPane
protected boolean rootPaneCheckingEnabled
add 和
setLayout 的调用将转发给
contentPane。该值最初为 false,但在构造
JApplet 时被设置为 true。
protected AccessibleContext accessibleContext
| 构造方法详细信息 |
|---|
public JApplet()
throws HeadlessException
此构造方法将组件的语言环境属性设置为 JComponent.getDefaultLocale 返回的值。
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless(),
JComponent.getDefaultLocale()
| 方法详细信息 |
|---|
protected JRootPane createRootPane()
public void setTransferHandler(TransferHandler newHandler)
transferHandler 属性,该属性是支持将数据传输到此组件的机制。如果该组件不支持数据传输操作,请使用
null。
如果系统属性 suppressSwingDropSupport 为 false(默认值),并且此组件上的当前放置目标为 null 或者不是用户设置的放置目标,那么此方法将按以下方式更改放置目标:如果 newHandler 为 null,它将清除放置目标。如果不为 null,则它将安装一个新的 DropTarget。
注:当用于 JApplet 时,TransferHandler 只提供数据导入功能,与数据导出有关的方法当前用于 JComponent。
有关更多信息,请参阅 The Java Tutorial 中的 How to Use Drag and Drop and Data Transfer 一节。
newHandler - 新的
TransferHandler
TransferHandler,
getTransferHandler(),
Component.setDropTarget(java.awt.dnd.DropTarget)
public TransferHandler getTransferHandler()
transferHandler 属性。
transferHandler 属性的值
TransferHandler,
setTransferHandler(javax.swing.TransferHandler)
public void update(Graphics g)
paint(g)。重写此方法以防止不必要地调用清除了背景。
g - 指定的 Graphics 窗口
Component.update(Graphics)
public void setJMenuBar(JMenuBar menuBar)
menuBar - 将放置在 applet 中的菜单栏
getJMenuBar()
public JMenuBar getJMenuBar()
protected boolean isRootPaneCheckingEnabled()
add 和
setLayout 的调用转发给
contentPane。
add 和
setLayout,则返回 true;否则返回 false
addImpl(java.awt.Component, java.lang.Object, int),
setLayout(java.awt.LayoutManager),
setRootPaneCheckingEnabled(boolean),
RootPaneContainer
protected void setRootPaneCheckingEnabled(boolean enabled)
add 和
setLayout 的调用转发给
contentPane。
enabled - 如果转发
add 和
setLayout,则该参数为 true;如果应该直接在
JApplet 上进行这两个操作,则该参数为 false。
addImpl(java.awt.Component, java.lang.Object, int),
setLayout(java.awt.LayoutManager),
isRootPaneCheckingEnabled(),
RootPaneContainer
protected void addImpl(Component comp, Object constraints, int index)
Component。重写此方法,以有条件地将调用转发给
contentPane。默认情况下,子组件被添加到
contentPane 而不是窗体中,有关细节,请参阅
RootPaneContainer。
comp - 要添加子组件的组件
constraints - 要遵从的约束条件
index - 索引
IllegalArgumentException - 如果
index 无效
IllegalArgumentException - 如果将容器的父容器添加到该容器中