Module java.desktop
Package javax.swing

Class JInternalFrame

所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

@JavaBean(defaultProperty="JMenuBar", description="A frame container which is contained within another window.") public class JInternalFrame extends JComponent implements Accessible, WindowConstants, RootPaneContainer
一个轻量级对象,提供了许多本机框架的功能,包括拖动、关闭、成为图标、调整大小、显示标题以及支持菜单栏。有关面向任务的文档和使用内部框架示例,请参阅如何使用内部框架,这是《Java教程》中的一个部分。

通常,您将JInternalFrame添加到JDesktopPane中。UI将外观和感觉特定的操作委托给JDesktopPane维护的DesktopManager对象。

JInternalFrame内容窗格是您添加子组件的地方。为方便起见,此类的addremovesetLayout方法被覆盖,以便它们将调用委托给ContentPane的相应方法。例如,您可以按照以下方式向内部框架添加子组件:

       internalFrame.add(child);
 
然后子组件将被添加到contentPane中。内容窗格实际上由JRootPane的一个实例管理,该实例还管理布局窗格、玻璃窗格和内部框架的可选菜单栏。请参阅JRootPane文档,了解这些组件的完整描述。有关向JInternalFrame添加、移除和设置LayoutManager的详细信息,请参阅RootPaneContainer

警告: Swing不是线程安全的。有关更多信息,请参阅Swing的线程策略

警告: 此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间进行RMI。从1.4版本开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

自从:
1.2
参见:
  • Field Details

    • rootPane

      protected JRootPane rootPane
      管理内容窗格和可选菜单栏的JRootPane实例,以及玻璃窗格。
      参见:
    • rootPaneCheckingEnabled

      protected boolean rootPaneCheckingEnabled
      如果为true,则将addsetLayout调用转发到contentPane。初始情况下为false,但在构造JInternalFrame时设置为true。
      参见:
    • closable

      protected boolean closable
      可以关闭框架。
    • isClosed

      protected boolean isClosed
      框架已关闭。
    • maximizable

      protected boolean maximizable
      框架可以扩展到桌面窗格的大小。
    • isMaximum

      protected boolean isMaximum
      框架已扩展到其最大大小。
      参见:
    • iconable

      protected boolean iconable
      框架可以“图标化”(缩小并显示为图标图像)。
      参见:
    • isIcon

      protected boolean isIcon
      框架已图标化。
      参见:
    • resizable

      protected boolean resizable
      框架的大小可以更改。
    • isSelected

      protected boolean isSelected
      框架当前已选择。
    • frameIcon

      protected Icon frameIcon
      显示在此内部框架左上角的图标。
    • title

      protected String title
      显示在此内部框架标题栏中的标题。
    • desktopIcon

      protected JInternalFrame.JDesktopIcon desktopIcon
      当此内部框架被图标化时显示的图标。子类必须确保在构造期间将其设置为非null值,并且不能随后将其设置为null。
      参见:
    • CONTENT_PANE_PROPERTY

      public static final String CONTENT_PANE_PROPERTY
      绑定的属性名称。
      参见:
    • TITLE_PROPERTY

      public static final String TITLE_PROPERTY
      绑定的属性名称。
      参见:
    • LAYERED_PANE_PROPERTY

      public static final String LAYERED_PANE_PROPERTY
      绑定的属性名称。
      参见:
    • ROOT_PANE_PROPERTY

      public static final String ROOT_PANE_PROPERTY
      绑定的属性名称。
      参见:
    • GLASS_PANE_PROPERTY

      public static final String GLASS_PANE_PROPERTY
      绑定的属性名称。
      参见:
    • FRAME_ICON_PROPERTY

      public static final String FRAME_ICON_PROPERTY
      绑定的属性名称。
      参见:
    • IS_SELECTED_PROPERTY

      public static final String IS_SELECTED_PROPERTY
      表示此框架已选择的约束属性名称。
      参见:
    • IS_CLOSED_PROPERTY

      public static final String IS_CLOSED_PROPERTY
      表示内部框架已关闭的约束属性名称。
      参见:
    • IS_MAXIMUM_PROPERTY

      public static final String IS_MAXIMUM_PROPERTY
      表示内部框架已最大化的约束属性名称。
      参见:
    • IS_ICON_PROPERTY

      public static final String IS_ICON_PROPERTY
      表示内部框架已图标化的约束属性名称。
      参见:
  • Constructor Details

    • JInternalFrame

      public JInternalFrame()
      创建一个不可调整大小、不可关闭、不可最大化、不可图标化且没有标题的JInternalFrame
    • JInternalFrame

      public JInternalFrame(String title)
      创建一个具有指定标题的不可调整大小、不可关闭、不可最大化、不可图标化的JInternalFrame。请注意,传入null title会导致未指定的行为,可能会引发异常。
      参数:
      title - 在标题栏中显示的非null String
    • JInternalFrame

      public JInternalFrame(String title, boolean resizable)
      创建一个具有指定标题和可调整大小性的不可关闭、不可最大化、不可图标化的JInternalFrame
      参数:
      title - 在标题栏中显示的String
      resizable - 如果为true,则内部框架可以调整大小
    • JInternalFrame

      public JInternalFrame(String title, boolean resizable, boolean closable)
      创建一个具有指定标题、可调整大小性和可关闭性的不可最大化、不可图标化JInternalFrame
      参数:
      title - 在标题栏中显示的String
      resizable - 如果为true,则内部框架可以调整大小
      closable - 如果为true,则内部框架可以关闭
    • JInternalFrame

      public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable)
      创建一个具有指定标题、可调整大小性、可关闭性和可最大化性的不可图标化JInternalFrame
      参数:
      title - 要显示在标题栏中的String
      resizable - 如果为true,则内部框架可以调整大小
      closable - 如果为true,则内部框架可以关闭
      maximizable - 如果为true,则内部框架可以最大化
    • JInternalFrame

      public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
      创建一个具有指定标题、可调整大小性、可关闭性、可最大化性和可图标化性的JInternalFrame。所有JInternalFrame构造函数都使用此构造函数。
      参数:
      title - 要显示在标题栏中的String
      resizable - 如果为true,则内部框架可以调整大小
      closable - 如果为true,则内部框架可以关闭
      maximizable - 如果为true,则内部框架可以最大化
      iconifiable - 如果为true,则内部框架可以图标化
  • Method Details

    • createRootPane

      protected JRootPane createRootPane()
      由构造函数调用以设置JRootPane
      返回:
      一个新的JRootPane
      参见:
    • getUI

      public InternalFrameUI getUI()
      返回呈现此组件的外观对象。
      覆盖:
      getUI 在类 JComponent
      返回:
      呈现此组件的InternalFrameUI对象
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(InternalFrameUI ui)
      为此JInternalFrame设置UI代理。
      参数:
      ui - UI代理
    • updateUI

      public void updateUI()
      来自UIManager的通知,外观已更改。用来自UIManager的最新版本替换当前UI对象。
      覆盖:
      updateUI 在类 JComponent
      参见:
    • getUIClassID

      @BeanProperty(bound=false, description="UIClassID") public String getUIClassID()
      返回呈现此组件的外观类的名称。
      覆盖:
      getUIClassID 在类 JComponent
      返回:
      字符串"InternalFrameUI"
      参见:
    • isRootPaneCheckingEnabled

      protected boolean isRootPaneCheckingEnabled()
      返回是否将addsetLayout的调用转发到contentPane
      返回:
      如果转发addsetLayout,则为true;否则为false
      参见:
    • setRootPaneCheckingEnabled

      @BeanProperty(hidden=true, description="Whether the add and setLayout methods are forwarded") protected void setRootPaneCheckingEnabled(boolean enabled)
      设置是否将addsetLayout的调用转发到contentPane
      参数:
      enabled - 如果将addsetLayout转发,则为true;如果应直接在JInternalFrame上操作,则为false。
      参见:
    • addImpl

      protected void addImpl(Component comp, Object constraints, int index)
      添加指定的子Component。此方法被重写以有条件地将调用转发到contentPane。默认情况下,子项将添加到contentPane而不是框架,请参阅RootPaneContainer了解详情。
      覆盖:
      addImpl 在类 Container
      参数:
      comp - 要增强的组件
      constraints - 要遵守的约束
      index - 索引
      抛出:
      IllegalArgumentException - 如果index无效
      IllegalArgumentException - 如果将容器的父级添加到自身
      IllegalArgumentException - 如果将窗口添加到容器
      参见:
    • remove

      public void remove(Component comp)
      从容器中删除指定的组件。如果comp不是JInternalFrame的子项,则将调用转发到contentPane
      覆盖:
      remove 在类 Container
      参数:
      comp - 要移除的组件
      抛出:
      NullPointerException - 如果comp为null
      参见:
    • setLayout

      public void setLayout(LayoutManager manager)
      确保默认情况下无法设置此组件的布局。被重写以有条件地将调用转发到contentPane。有关更多信息,请参阅RootPaneContainer
      覆盖:
      setLayout 在类 Container
      参数:
      manager - LayoutManager
      参见:
    • getMenuBar

      @Deprecated public JMenuBar getMenuBar()
      Deprecated.
      As of Swing version 1.0.3, replaced by getJMenuBar().
      返回此内部框架的当前JMenuBar,如果未设置菜单栏,则返回null
      返回:
      当前菜单栏,如果未设置则返回null
    • getJMenuBar

      public JMenuBar getJMenuBar()
      返回此JInternalFrame的当前JMenuBar,如果未设置菜单栏,则返回null
      返回:
      此内部框架使用的JMenuBar
      参见:
    • setMenuBar

      @Deprecated public void setMenuBar(JMenuBar m)
      Deprecated.
      As of Swing version 1.0.3 replaced by setJMenuBar(JMenuBar m).
      为此JInternalFrame设置menuBar属性。
      参数:
      m - 要在此内部框架中使用的JMenuBar
      参见:
    • setJMenuBar

      @BeanProperty(preferred=true, description="The menu bar for accessing pulldown menus from this internal frame.") public void setJMenuBar(JMenuBar m)
      为此JInternalFrame设置menuBar属性。
      参数:
      m - 要在此内部框架中使用的JMenuBar
      参见:
    • getContentPane

      public Container getContentPane()
      返回此内部框架的内容窗格。
      指定者:
      getContentPane 在接口 RootPaneContainer
      返回:
      内容窗格
      参见:
    • setContentPane

      @BeanProperty(hidden=true, description="The client area of the internal frame where child components are normally inserted.") public void setContentPane(Container c)
      设置此JInternalFramecontentPane属性。
      指定者:
      setContentPane 在接口 RootPaneContainer
      参数:
      c - 内部窗体的内容面板
      抛出:
      IllegalComponentStateException - (运行时异常)如果内容面板参数为null
      参见:
    • getLayeredPane

      public JLayeredPane getLayeredPane()
      返回此内部窗体的分层面板。
      指定者:
      getLayeredPane 在接口 RootPaneContainer
      返回:
      一个JLayeredPane对象
      参见:
    • setLayeredPane

      @BeanProperty(hidden=true, description="The pane which holds the various desktop layers.") public void setLayeredPane(JLayeredPane layered)
      设置此JInternalFramelayeredPane属性。
      指定者:
      setLayeredPane 在接口 RootPaneContainer
      参数:
      layered - 用于此内部窗体的JLayeredPane
      抛出:
      IllegalComponentStateException - (运行时异常)如果分层面板参数为null
      参见:
    • getGlassPane

      public Component getGlassPane()
      返回此内部窗体的玻璃面板。
      指定者:
      getGlassPane 在接口 RootPaneContainer
      返回:
      玻璃面板
      参见:
    • setGlassPane

      @BeanProperty(hidden=true, description="A transparent pane used for menu rendering.") public void setGlassPane(Component glass)
      设置此JInternalFrameglassPane属性。
      指定者:
      setGlassPane 在接口 RootPaneContainer
      参数:
      glass - 用于此内部窗体的玻璃面板
      参见:
    • getRootPane

      @BeanProperty(hidden=true, description="The root pane used by this internal frame.") public JRootPane getRootPane()
      返回此内部窗体的rootPane对象。
      指定者:
      getRootPane 在接口 RootPaneContainer
      覆盖:
      getRootPane 在类 JComponent
      返回:
      rootPane属性
      参见:
    • setRootPane

      protected void setRootPane(JRootPane root)
      设置此JInternalFramerootPane属性。此方法由构造函数调用。
      参数:
      root - 新的JRootPane对象
    • setClosable

      @BeanProperty(preferred=true, description="Indicates whether this internal frame can be closed.") public void setClosable(boolean b)
      设置此JInternalFrame是否可以被某些用户操作关闭。
      参数:
      b - 一个布尔值,其中true表示此内部窗体可以被关闭
    • isClosable

      public boolean isClosable()
      返回此JInternalFrame是否可以被某些用户操作关闭。
      返回:
      如果此内部窗体可以被关闭,则返回true
    • isClosed

      public boolean isClosed()
      返回此JInternalFrame当前是否关闭。
      返回:
      如果此内部窗体关闭,则返回true,否则返回false
    • setClosed

      @BeanProperty(description="Indicates whether this internal frame has been closed.") public void setClosed(boolean b) throws PropertyVetoException
      如果参数为true,则关闭此内部窗体。不要使用false参数调用此方法;调用setClosed(false)的结果是未指定的。

      如果内部窗体已经关闭,则此方法不执行任何操作并立即返回。否则,此方法首先触发一个INTERNAL_FRAME_CLOSING事件。然后,除非监听器否决属性更改,否则此方法将closed属性设置为true。最后,此方法使内部窗体不可见和未选中,然后触发一个INTERNAL_FRAME_CLOSED事件。

      注意: 要重用已关闭的内部窗体,必须将其添加到一个容器中(即使您从未将其从先前的容器中移除)。通常,此容器将是先前包含内部窗体的JDesktopPane

      参数:
      b - 必须为true
      抛出:
      PropertyVetoException - 当尝试设置属性被JInternalFrame否决时
      参见:
    • setResizable

      @BeanProperty(preferred=true, description="Determines whether this internal frame can be resized by the user.") public void setResizable(boolean b)
      设置JInternalFrame是否可以被某些用户操作调整大小。
      参数:
      b - 一个布尔值,其中true表示此内部窗体可以调整大小
    • isResizable

      public boolean isResizable()
      返回JInternalFrame是否可以被某些用户操作调整大小。
      返回:
      如果此内部窗体可以调整大小,则返回true
    • setIconifiable

      @BeanProperty(preferred=true, description="Determines whether this internal frame can be iconified.") public void setIconifiable(boolean b)
      设置iconable属性,用户必须能够使JInternalFrame成为图标。某些外观和感觉可能不支持图标化;它们将忽略此属性。
      参数:
      b - 一个布尔值,其中true表示此内部窗体可以被图标化
    • isIconifiable

      public boolean isIconifiable()
      获取iconable属性,默认为false
      返回:
      iconable属性的值。
      参见:
    • isIcon

      public boolean isIcon()
      返回JInternalFrame当前是否被图标化。
      返回:
      如果此内部窗体被图标化,则返回true
    • setIcon

      @BeanProperty(description="The image displayed when this internal frame is minimized.") public void setIcon(boolean b) throws PropertyVetoException
      如果外观和感觉支持图标化,则图标化或取消图标化此内部窗体。如果内部窗体的状态更改为图标化,则此方法触发一个INTERNAL_FRAME_ICONIFIED事件。如果状态更改为取消图标化,则触发一个INTERNAL_FRAME_DEICONIFIED事件。
      参数:
      b - 一个布尔值,其中true表示将此内部窗体图标化,false表示取消图标化
      抛出:
      PropertyVetoException - 当尝试设置属性被JInternalFrame否决时
      参见:
    • setMaximizable

      @BeanProperty(preferred=true, description="Determines whether this internal frame can be maximized.") public void setMaximizable(boolean b)
      设置maximizable属性,确定JInternalFrame是否可以通过某些用户操作最大化。某些外观和感觉可能不支持最大化内部窗体;它们将忽略此属性。
      参数:
      b - true指定此内部窗体应该是可最大化的;false指定它不应该是可最大化的
    • isMaximizable

      public boolean isMaximizable()
      获取maximizable属性的值。
      返回:
      maximizable属性的值
      参见:
    • isMaximum

      public boolean isMaximum()
      返回JInternalFrame当前是否被最大化。
      返回:
      如果此内部窗体被最大化,则返回true,否则返回false
    • setMaximum

      @BeanProperty(description="Indicates whether this internal frame is maximized.") public void setMaximum(boolean b) throws PropertyVetoException
      最大化并恢复此内部窗体。最大化的窗体将被调整大小以完全适应与JInternalFrame关联的JDesktopPane区域。恢复的窗体大小设置为JInternalFrame的实际大小。
      参数:
      b - 一个布尔值,其中true最大化此内部框架,false将其还原
      抛出:
      PropertyVetoException - 当尝试设置属性被JInternalFrame否决时
    • getTitle

      public String getTitle()
      返回JInternalFrame的标题。
      返回:
      包含此内部框架标题的String
      参见:
    • setTitle

      @BeanProperty(preferred=true, description="The text displayed in the title bar.") public void setTitle(String title)
      设置JInternalFrame的标题。 title可以为null值。
      参数:
      title - 要在标题栏中显示的String
      参见:
    • setSelected

      @BeanProperty(description="Indicates whether this internal frame is currently the active frame.") public void setSelected(boolean selected) throws PropertyVetoException
      如果显示,则选择或取消选择内部框架。 JInternalFrame通常会以不同的方式绘制其标题栏,以指示给用户此内部框架具有焦点。当此方法将内部框架的状态从取消选择更改为选择时,它会触发一个InternalFrameEvent.INTERNAL_FRAME_ACTIVATED事件。如果从选择更改为取消选择,则会触发一个InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED事件。
      参数:
      selected - 一个布尔值,其中true表示此内部框架应该变为选定(当前活动),false表示应该变为取消选定
      抛出:
      PropertyVetoException - 当尝试设置属性被JInternalFrame否决时
      参见:
    • isSelected

      public boolean isSelected()
      返回JInternalFrame当前是否为“选定”或活动框架。
      返回:
      如果此内部框架当前为选定(活动),则为true
      参见:
    • setFrameIcon

      @BeanProperty(description="The icon shown in the top-left corner of this internal frame.") public void setFrameIcon(Icon icon)
      设置要显示在此内部框架标题栏中(通常在左上角)的图像。某些外观和感觉可能不支持在标题栏中显示图标。此图像不是desktopIcon对象,该对象是在将此内部框架图标化时在JDesktop中显示的图像。将null传递给此函数是有效的,但外观和感觉可以选择适当的行为,例如不显示图标或为外观和感觉显示默认图标。
      参数:
      icon - 要在标题栏中显示的Icon
      参见:
    • getFrameIcon

      public Icon getFrameIcon()
      返回显示在此内部框架标题栏中(通常在左上角)的图像。
      返回:
      显示在标题栏中的Icon
      参见:
    • moveToFront

      public void moveToFront()
      将此组件移动到其父级为JLayeredPane时的位置0的便利方法。
    • moveToBack

      public void moveToBack()
      将此组件移动到其父级为JLayeredPane时的位置-1的便利方法。
    • getLastCursor

      @BeanProperty(bound=false) public Cursor getLastCursor()
      返回由setCursor方法设置的最后一个非可调整Cursor
      返回:
      最后一个非可调整Cursor
      自:
      1.6
    • setCursor

      public void setCursor(Cursor cursor)
      将光标图像设置为指定的光标。当此组件的contains方法对当前光标位置返回true,并且此组件可见、可显示和已启用时,将显示此光标图像。设置Container的光标会导致该光标显示在容器的所有子组件中,除了那些具有非null光标的组件。

      如果Java平台实现和/或本地系统不支持更改鼠标光标形状,则该方法可能没有视觉效果。

      覆盖:
      setCursor 在类 Component
      参数:
      cursor - Cursor类定义的常量之一;如果此参数为null,则此组件将继承其父级的光标
      自:
      1.6
      参见:
    • setLayer

      @BeanProperty(bound=false, expert=true, description="Specifies what desktop layer is used.") public void setLayer(Integer layer)
      设置此组件的层属性的便利方法。
      参数:
      layer - 指定此框架桌面层的Integer对象
      抛出:
      NullPointerException - 如果layernull
      参见:
    • setLayer

      @BeanProperty(bound=false, expert=true, description="Specifies what desktop layer is used.") public void setLayer(int layer)
      设置此组件的层属性的便利方法。应该使用setLayer(Integer)方法预定义在JLayeredPane中的层值。使用setLayer(int)时,必须小心,以免意外与这些值冲突。
      参数:
      layer - 指定此内部框架桌面层的整数
      自:
      1.3
      参见:
    • getLayer

      public int getLayer()
      获取此组件的层属性的便利方法。
      返回:
      指定此框架桌面层的Integer对象
      参见:
    • getDesktopPane

      @BeanProperty(bound=false) public JDesktopPane getDesktopPane()
      搜索祖先层次结构以查找JDesktop实例的便利方法。如果JInternalFrame找不到,则搜索desktopIcon树。
      返回:
      此内部框架所属的JDesktopPane,如果找不到则返回null
    • setDesktopIcon

      @BeanProperty(description="The icon shown when this internal frame is minimized.") public void setDesktopIcon(JInternalFrame.JDesktopIcon d)
      设置与此JInternalFrame关联的JDesktopIcon
      参数:
      d - 要在桌面上显示的JDesktopIcon
      抛出:
      NullPointerException - 如果dnull
      参见:
    • getDesktopIcon

      public JInternalFrame.JDesktopIcon getDesktopIcon()
      返回此JInternalFrame图标化时使用的JDesktopIcon
      返回:
      在桌面上显示的JDesktopIcon
      参见:
    • getNormalBounds

      public Rectangle getNormalBounds()
      如果JInternalFrame不处于最大化状态,则返回getBounds();否则,返回JInternalFrame将恢复到的边界。
      返回:
      包含此框架在正常状态下的边界的Rectangle
      自:
      1.3
    • setNormalBounds

      public void setNormalBounds(Rectangle r)
      设置此内部框架的正常边界,即此内部框架将从其最大化状态恢复到的边界。此方法仅供桌面管理器使用。
      参数:
      r - 此内部框架应恢复到的边界
      自:
      1.3
    • getFocusOwner

      public Component getFocusOwner()
      如果此JInternalFrame处于活动状态,则返回具有焦点的子组件。否则,返回null
      返回:
      具有焦点的组件,如果没有子组件具有焦点,则返回null
      自:
      1.3
    • getMostRecentFocusOwner

      @BeanProperty(bound=false) public Component getMostRecentFocusOwner()
      返回此 JInternalFrame 被选中时将获得焦点的子组件。如果此 JInternalFrame 当前被选中,则此方法返回与 getFocusOwner 方法相同的组件。如果此 JInternalFrame 未被选中,则将返回最近请求焦点的子组件。如果没有子组件请求焦点,则返回此 JInternalFrame 的初始可获焦组件。如果不存在这样的子组件,则返回此 JInternalFrame 的默认焦点组件。
      返回:
      当此 JInternalFrame 被选中时将获得焦点的子组件
      自版本:
      1.4
      另请参阅:
    • restoreSubcomponentFocus

      public void restoreSubcomponentFocus()
      请求内部框架将焦点恢复到最后具有焦点的子组件。当用户选择此内部框架时,例如通过单击标题栏时,UI 将使用此方法。
      自版本:
      1.3
    • reshape

      public void reshape(int x, int y, int width, int height)
      移动并调整此组件的大小。与其他组件不同,此实现还会强制重新布局,以便始终重新显示框架装饰,例如标题栏。
      覆盖:
      reshape 在类 JComponent
      参数:
      x - 一个整数,表示组件的新水平位置,以像素为单位,从其容器的左侧开始测量
      y - 一个整数,表示组件的新垂直位置,以像素为单位,从其容器的底部开始测量
      width - 一个整数,表示组件的新宽度,以像素为单位
      height - 一个整数,表示组件的新高度,以像素为单位
      另请参阅:
    • addInternalFrameListener

      public void addInternalFrameListener(InternalFrameListener l)
      将指定的监听器添加到从此内部框架接收内部框架事件的监听器列表中。
      参数:
      l - 内部框架监听器
    • removeInternalFrameListener

      public void removeInternalFrameListener(InternalFrameListener l)
      删除指定的内部框架监听器,使其不再从此内部框架接收内部框架事件。
      参数:
      l - 内部框架监听器
    • getInternalFrameListeners

      @BeanProperty(bound=false) public InternalFrameListener[] getInternalFrameListeners()
      返回使用 addInternalFrameListener 添加到此 JInternalFrame 的所有 InternalFrameListener 数组。
      返回:
      所有已添加的 InternalFrameListener 数组,如果未添加任何监听器,则返回空数组
      自版本:
      1.4
      另请参阅:
    • fireInternalFrameEvent

      protected void fireInternalFrameEvent(int id)
      触发内部框架事件。
      参数:
      id - 触发的事件类型;以下之一:
      • InternalFrameEvent.INTERNAL_FRAME_OPENED
      • InternalFrameEvent.INTERNAL_FRAME_CLOSING
      • InternalFrameEvent.INTERNAL_FRAME_CLOSED
      • InternalFrameEvent.INTERNAL_FRAME_ICONIFIED
      • InternalFrameEvent.INTERNAL_FRAME_DEICONIFIED
      • InternalFrameEvent.INTERNAL_FRAME_ACTIVATED
      • InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED
      如果事件类型不是上述之一,则不会发生任何操作。
    • doDefaultCloseAction

      public void doDefaultCloseAction()
      触发一个 INTERNAL_FRAME_CLOSING 事件,然后执行内部框架的默认关闭操作。此方法通常由内部框架的关闭按钮的外观实现的操作处理程序调用。
      自版本:
      1.3
      另请参阅:
    • setDefaultCloseOperation

      public void setDefaultCloseOperation(int operation)
      设置用户在此内部框架上启动“关闭”时默认发生的操作。可能的选择是:

      DO_NOTHING_ON_CLOSE
      什么也不做。这需要程序在已注册的 InternalFrameListener 对象的 internalFrameClosing 方法中处理操作。
      HIDE_ON_CLOSE
      自动使内部框架不可见。
      DISPOSE_ON_CLOSE
      自动处理内部框架。

      默认值为 DISPOSE_ON_CLOSE。在执行指定的关闭操作之前,内部框架会触发一个 INTERNAL_FRAME_CLOSING 事件。

      参数:
      operation - 在 javax.swing.WindowConstants 中定义的以下常量之一(由 JInternalFrame 实现的接口): DO_NOTHING_ON_CLOSEHIDE_ON_CLOSEDISPOSE_ON_CLOSE
      另请参阅:
    • getDefaultCloseOperation

      public int getDefaultCloseOperation()
      返回用户在此内部框架上启动“关闭”时发生的默认操作。
      返回:
      用户关闭内部框架时将发生的操作
      另请参阅:
    • pack

      public void pack()
      导致此 JInternalFrame 的子组件以其首选大小进行布局。首先还原已图标化或最大化的内部框架,然后进行打包。如果无法还原内部框架的状态,则不会更改其状态,也不会进行打包。
      另请参阅:
    • show

      public void show()
      如果内部框架不可见,则将内部框架置于前端,使其可见,并尝试选择它。第一次使内部框架可见时,此方法还会触发一个 INTERNAL_FRAME_OPENED 事件。如果内部框架已经可见,则此方法不执行任何操作。调用此方法的结果与调用 setVisible(true) 相同。
      覆盖:
      show 在类 Component
      另请参阅:
    • hide

      public void hide()
      从类中复制的描述: JComponent
      覆盖:
      hide 在类 JComponent
    • dispose

      public void dispose()
      使此内部框架不可见,取消选择,并关闭。如果框架尚未关闭,则此方法会触发一个 INTERNAL_FRAME_CLOSED 事件。调用此方法的结果类似于 setClosed(true),但 dispose 总是成功关闭内部框架,并且不会触发 INTERNAL_FRAME_CLOSING 事件。
      另请参阅:
    • toFront

      public void toFront()
      将此内部框架置于前端。将此内部框架置于堆叠顺序的顶部,并对其他可见内部框架进行相应调整。
      另请参阅:
    • toBack

      public void toBack()
      将此内部框架置于后端。将此内部框架置于堆叠顺序的底部,并对其他可见内部框架进行相应调整。
      另请参阅:
    • setFocusCycleRoot

      public final void setFocusCycleRoot(boolean focusCycleRoot)
      不执行任何操作,因为 JInternalFrame 必须始终是焦点遍历循环的根。
      覆盖:
      setFocusCycleRoot 在类 Container
      参数:
      focusCycleRoot - 此值将被忽略
      自从:
      1.4
      另请参见:
    • isFocusCycleRoot

      public final boolean isFocusCycleRoot()
      由于所有JInternalFrame必须是焦点遍历循环的根,因此始终返回true
      覆盖:
      isFocusCycleRoot 在类 Container
      返回:
      true
      自从:
      1.4
      另请参见:
    • getFocusCycleRootAncestor

      @BeanProperty(bound=false) public final Container getFocusCycleRootAncestor()
      由于JInternalFrame必须始终是焦点遍历循环的根,因此始终返回null
      覆盖:
      getFocusCycleRootAncestor 在类 Component
      返回:
      null
      自从:
      1.4
      另请参见:
    • getWarningString

      @BeanProperty(bound=false) public final String getWarningString()
      获取显示在此内部框架中的警告字符串。由于内部框架始终是安全的(因为它完全包含在可能需要警告字符串的窗口中),因此此方法始终返回null
      返回:
      null
      另请参见:
    • paramString

      protected String paramString()
      返回此JInternalFrame的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
      覆盖:
      paramString 在类 JComponent
      返回:
      JInternalFrame的字符串表示形式
    • paintComponent

      protected void paintComponent(Graphics g)
      被覆盖以允许在拖动内部框架时进行优化绘制。
      覆盖:
      paintComponent 在类 JComponent
      参数:
      g - 要保护的Graphics对象
      另请参见:
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      获取与此JInternalFrame关联的AccessibleContext。对于内部框架,AccessibleContext采用AccessibleJInternalFrame对象的形式。如有必要,将创建一个新的AccessibleJInternalFrame实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 Component
      返回:
      作为此JInternalFrameAccessibleContextAccessibleJInternalFrame
      另请参见: