java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JInternalFrame
public class JInternalFrame
提供很多本机窗体功能的轻量级对象,这些功能包括拖动、关闭、变成图标、调整大小、标题显示和支持菜单栏。有关使用内部窗体的面向任务的文档和示例,请参见 The Java Tutorial 中的 How to Use Internal Frames 一节。
通常,可将 JInternalFrame
添加到 JDesktopPane
中。UI 将特定于外观的操作委托给由 JDesktopPane
维护的 DesktopManager
对象。
JInternalFrame
内容窗格是添加子组件的地方。为了方便地使用 add
方法及其变体,已经重写了 remove
和 setLayout
,以在必要时将其转发到 contentPane
。这意味着可以编写:
internalFrame.add(child);子级将被添加到 contentPane。内容窗格实际上由
JRootPane
的实例管理,它还管理 layoutPane、glassPane 和内部窗体的可选菜单栏。有关这些组件的完整描述,请参见
JRootPane
文档。有关添加、移除和设置
JInternalFrame
的
LayoutManager
的详情,请参阅
RootPaneContainer
。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
InternalFrameEvent
,
JDesktopPane
,
DesktopManager
,
JInternalFrame.JDesktopIcon
,
JRootPane
,
RootPaneContainer
嵌套类摘要 | |
---|---|
protected class |
JInternalFrame.AccessibleJInternalFrame 此类实现对 JInternalFrame 类的可访问性支持。 |
static class |
JInternalFrame.JDesktopIcon 此组件表示 JInternalFrame 的图标化版本。 |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
protected boolean |
closable 窗体可关闭。 |
static String |
CONTENT_PANE_PROPERTY 绑定属性名。 |
protected JInternalFrame.JDesktopIcon |
desktopIcon 此内部窗体图标化时所显示的图标。 |
static String |
FRAME_ICON_PROPERTY 绑定属性名。 |
protected Icon |
frameIcon 此内部窗体左上角显示的图标。 |
static String |
GLASS_PANE_PROPERTY 绑定属性名。 |
protected boolean |
iconable 可以“图标化”窗体(缩小并显示为图标图像)。 |
static String |
IS_CLOSED_PROPERTY 约束属性名,指示该内部窗体已关闭。 |
static String |
IS_ICON_PROPERTY 约束属性名,指示该内部窗体已图标化。 |
static String |
IS_MAXIMUM_PROPERTY 约束属性名,指示该内部窗体已最大化。 |
static String |
IS_SELECTED_PROPERTY 约束属性名,指示此窗体具有选定状态。 |
protected boolean |
isClosed 窗体已关闭。 |
protected boolean |
isIcon 窗体已图标化。 |
protected boolean |
isMaximum 已将窗体扩展到其最大大小。 |
protected boolean |
isSelected 当前已选中窗体。 |
static String |
LAYERED_PANE_PROPERTY 绑定属性名。 |
protected boolean |
maximizable 可将窗体扩展到桌面窗格的大小。 |
static String |
MENU_BAR_PROPERTY 绑定属性名。 |
protected boolean |
resizable 可以更改窗体的大小。 |
static String |
ROOT_PANE_PROPERTY 绑定属性名。 |
protected JRootPane |
rootPane JRootPane 实例,它管理此内部窗体的内容窗格和可选菜单栏以及玻璃窗格(glass pane)。 |
protected boolean |
rootPaneCheckingEnabled 如果为 true,则将对 add 和 setLayout 的调用转发到 contentPane 。 |
protected String |
title 此内部窗体标题栏中所显示的标题。 |
static String |
TITLE_PROPERTY 绑定属性名。 |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 javax.swing.WindowConstants 继承的字段 |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JInternalFrame() 创建不可调整大小的、不可关闭的、不可最大化的、不可图标化的、没有标题的 JInternalFrame 。 |
|
JInternalFrame(String title) 创建不可调整大小的、不可关闭的、不可最大化的、不可图标化的、具有指定标题的 JInternalFrame 。 |
|
JInternalFrame(String title, boolean resizable) 创建不可关闭的、不可最大化的、不可图标化的,以及具有指定标题和可调整大小的 JInternalFrame 。 |
|
JInternalFrame(String title, boolean resizable, boolean closable) 创建不可最大化的、不可图标化的,以及具有指定标题、可调整大小和可关闭的 JInternalFrame 。 |
|
JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable) 创建不可图标化的,但具有指定标题、可调整大小、可关闭和可最大化的 JInternalFrame 。 |
|
JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) 创建具有指定标题、可调整、可关闭、可最大化和可图标化的 JInternalFrame 。 |
方法摘要 | |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index) 添加指定的子 Component 。 |
void |
addInternalFrameListener(InternalFrameListener l) 添加指定的侦听器,以从此内部窗体接收内部窗体事件。 |
protected JRootPane |
createRootPane() 构造方法调用此方法来设置 JRootPane 。 |
void |
dispose() 使此内部窗体不可见、取消选定并关闭它。 |
void |
doDefaultCloseAction() 激发 INTERNAL_FRAME_CLOSING 事件,然后执行内部窗体的默认 close 操作所指定的操作。 |
protected void |
fireInternalFrameEvent(int id) 激发内部窗体事件。 |
AccessibleContext |
getAccessibleContext() 获得与此 JInternalFrame 关联的 AccessibleContext 。 |
Container |
getContentPane() 返回此内部窗体的内容窗格。 |
int |
getDefaultCloseOperation() 返回用户在此内部窗体上发起 "close" 时默认执行的操作。 |
JInternalFrame.JDesktopIcon |
getDesktopIcon() 返回图标化此 JInternalFrame 时使用的 JDesktopIcon 。 |
JDesktopPane |
getDesktopPane() 在祖先层次结构中搜索 JDesktop 实例的便捷方法。 |
Container |
getFocusCycleRootAncestor() 始终返回 null ,原因是 JInternalFrame 必须始终为焦点遍历循环的根。 |
Component |
getFocusOwner() 如果此 JInternalFrame 处于激活状态,则返回具有焦点的子组件。 |
Icon |
getFrameIcon() 返回要在此内部窗体的标题栏中显示的图像(通常显示在左上角)。 |
Component |
getGlassPane() 返回此内部窗体的玻璃窗格。 |
InternalFrameListener[] |
getInternalFrameListeners() 返回使用 addInternalFrameListener 添加到此 JInternalFrame 的所有 InternalFrameListener 的数组。 |
JMenuBar |
getJMenuBar() 返回此 JInternalFrame 的当前 JMenuBar ;如果尚未设置菜单栏,则返回 null 。 |
Cursor |
getLastCursor() 返回通过 setCursor 方法设置的最后一个 Cursor ,它是不可调整大小的 Cursor 。 |
int |
getLayer() 获得此组件 layer 属性的便捷方法。 |
JLayeredPane |
getLayeredPane() 返回此内部窗体的分层窗格。 |
JMenuBar |
getMenuBar() 已过时。 从 Swing version 1.0.3 开始,由 getJMenuBar() 取代。 |
Component |
getMostRecentFocusOwner() 返回选定此 JInternalFrame 时,将接收焦点的 JInternalFrame 子组件。 |
Rectangle |
getNormalBounds() 如果 JInternalFrame 未处于最大化状态,则返回 getBounds() ;否则返回还原 JInternalFrame 后的边界。 |
JRootPane |
getRootPane() 返回此内部窗体的 rootPane 对象。 |
String |
getTitle() 返回 JInternalFrame 的标题。 |
InternalFrameUI |
getUI() 返回呈现此组件的外观对象。 |
String |
getUIClassID() 返回呈现此组件的外观类名。 |
String |
getWarningString() 获取此内部窗体中显示的警告字符串。 |
void |
hide() |
boolean |
isClosable() 返回是否可以通过某个用户操作关闭此 JInternalFrame 。 |
boolean |
isClosed() 返回此 JInternalFrame 当前是否已关闭。 |
boolean |
isFocusCycleRoot() 始终返回 true ,原因是所有 JInternalFrame 必须为焦点遍历循环的根。 |
boolean |
isIcon() 返回 JInternalFrame 当前是否已图标化。 |
boolean |
isIconifiable() 获取该 iconable 属性(默认情况下为 false )。 |
boolean |
isMaximizable() 获取该 maximizable 属性的值。 |
boolean |
isMaximum() 返回 JInternalFrame 当前是否已最大化。 |
boolean |
isResizable() 返回是否可以通过某个用户操作调整 JInternalFrame 的大小。 |
protected boolean |
isRootPaneCheckingEnabled() 返回是否将对 add 和 setLayout 的调用转发到 contentPane 。 |
boolean |
isSelected() 返回 JInternalFrame 当前是否为“选定的”或处于激活状态的窗体。 |
void |
moveToBack() 如果此组件的父组件是 JLayeredPane ,则将此组件移至位置 -1 的便捷方法。 |
void |
moveToFront() 如果此组件的父组件是 JLayeredPane ,则将此组件移至位置 0 的便捷方法。 |
void |
pack() 使此 JInternalFrame 的子组件按其首选大小进行布局。 |
protected void |
paintComponent(Graphics g) 重写此方法,以便在拖动内部窗体时允许进行优化的绘制。 |
protected String |
paramString() 返回此 JInternalFrame 的字符串表示形式。 |
void |
remove(Component comp) 从此容器中移除指定组件。 |
void |
removeInternalFrameListener(InternalFrameListener l) 移除指定的内部窗体侦听器,不再接收此内部窗体发出的内部窗体事件。 |
void |
reshape(int x, int y, int width, int height) 移动此组件并调整其大小。 |
void |
restoreSubcomponentFocus() 请求内部窗体将焦点还原到具有焦点的最后一个子组件。 |
void |
setClosable(boolean b) 设置是否可以通过某个用户操作关闭此 JInternalFrame 。 |
void |
setClosed(boolean b) 如果参数为 true ,则关闭此内部窗体。 |
void |
setContentPane(Container c) 设置此 JInternalFrame 的 contentPane 属性。 |
void |
setCursor(Cursor cursor) 为指定的光标设置光标图像。 |
void |
setDefaultCloseOperation(int operation) 设置用户在此内部窗体上发起 "close" 时默认执行的操作。 |
void |
setDesktopIcon(JInternalFrame.JDesktopIcon d) 设置与此 JInternalFrame 关联的 JDesktopIcon 。 |
void |
setFocusCycleRoot(boolean focusCycleRoot) 不执行任何操作,原因是 JInternalFrame 必须始终为焦点遍历循环的根。 |
void |
setFrameIcon(Icon icon) 设置要在此内部窗体的标题栏中显示的图像(通常显示在左上角)。 |
void |
setGlassPane(Component glass) 设置此 JInternalFrame 的 glassPane 属性。 |
void |
setIcon(boolean b) 如果外观支持图标化,则对此内部窗体执行图标化或取消图标化。 |
void |
setIconifiable(boolean b) 设置 iconable 属性,对于能够使 JInternalFrame 变成一个图标的用户而言,该属性必须为 true 。 |
void |
setJMenuBar(JMenuBar m) 设置此 JInternalFrame 的 menuBar 属性。 |
void |
setLayer(int layer) 设置此组件 layer 属性的便捷方法。 |
void |
setLayer(Integer layer) 设置此组件 layer 属性的便捷方法。 |
void |
setLayeredPane(JLayeredPane layered) 设置此 JInternalFrame 的 layeredPane 属性。 |
void |
setLayout(LayoutManager manager) 确保默认情况下无法设置此组件的布局。 |
void |
setMaximizable(boolean b) 设置 maximizable 属性,该属性确定是否可以通过某个用户操作最大化此 JInternalFrame 。 |
void |
setMaximum(boolean b) 最大化并还原此内部窗体。 |
void |
setMenuBar(JMenuBar m) 已过时。 从 Swing version 1.0.3 开始,由 setJMenuBar(JMenuBar m) 取代。 |
void |
setNormalBounds(Rectangle r) 设置此内部窗体的正常边界,即此内部窗体从其最大化状态还原后的边界。 |
void |
setResizable(boolean b) 设置是否可以通过某个用户操作调整 JInternalFrame 的大小。 |
protected void |
setRootPane(JRootPane root) 设置此 JInternalFrame 的 rootPane 属性。 |
protected void |
setRootPaneCheckingEnabled(boolean enabled) 设置是否将对 add 和 setLayout 的调用转发到 contentPane 。 |
void |
setSelected(boolean selected) 如果要显示内部窗体,则选定或取消选定该窗体。 |
void |
setTitle(String title) 设置 JInternalFrame 的标题。 |
void |
setUI(InternalFrameUI ui) 设置此 JInternalFrame 的 UI 委托。 |
void |
show() 如果内部窗体不可见,则将该内部窗体置于前端,使其可见并尝试选定它。 |
void |
toBack() 将此内部窗体发送至后台。 |
void |
toFront() 将此内部窗体置于前端。 |
void |
updateUI() 来自 UIManager 的通知,告知外观已更改。 |