javax.swing

接口
异常
java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.JInternalFrame
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class JInternalFrame
     
extends JComponent
implements Accessible, WindowConstants, RootPaneContainer

提供很多本机窗体功能的轻量级对象,这些功能包括拖动、关闭、变成图标、调整大小、标题显示和支持菜单栏。有关使用内部窗体的面向任务的文档和示例,请参见 The Java Tutorial 中的 How to Use Internal Frames 一节。

通常,可将 JInternalFrame 添加到 JDesktopPane 中。UI 将特定于外观的操作委托给由 JDesktopPane 维护的 DesktopManager 对象。

JInternalFrame 内容窗格是添加子组件的地方。为了方便地使用 add 方法及其变体,已经重写了 removesetLayout,以在必要时将其转发到 contentPane。这意味着可以编写:

       internalFrame.add(child);
 
子级将被添加到 contentPane。内容窗格实际上由 JRootPane 的实例管理,它还管理 layoutPane、glassPane 和内部窗体的可选菜单栏。有关这些组件的完整描述,请参见 JRootPane 文档。有关添加、移除和设置 JInternalFrameLayoutManager 的详情,请参阅 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,则将对 addsetLayout 的调用转发到 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()
          返回是否将对 addsetLayout 的调用转发到 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)
          设置此 JInternalFramecontentPane 属性。
 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)
          设置此 JInternalFrameglassPane 属性。
 void setIcon(boolean b)
          如果外观支持图标化,则对此内部窗体执行图标化或取消图标化。
 void setIconifiable(boolean b)
          设置 iconable 属性,对于能够使 JInternalFrame 变成一个图标的用户而言,该属性必须为 true
 void setJMenuBar(JMenuBar m)
          设置此 JInternalFramemenuBar 属性。
 void setLayer(int layer)
          设置此组件 layer 属性的便捷方法。
 void setLayer(Integer layer)
          设置此组件 layer 属性的便捷方法。
 void setLayeredPane(JLayeredPane layered)
          设置此 JInternalFramelayeredPane 属性。
 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)
          设置此 JInternalFramerootPane 属性。
protected  void setRootPaneCheckingEnabled(boolean enabled)
          设置是否将对 addsetLayout 的调用转发到 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 的通知,告知外观已更改。
 

JDK 1.6 中文手册