java.lang.Object java.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
- 如果将容器的父容器添加到该容器中