桌面面板和内部窗体
在一个GUI应用程序中需要使用多个窗口,针对这些窗口可以有两种管理策略,一种是每个窗口都是一个独立的窗体,优点是可以通过系统主窗体上的按钮及快捷键浏览所有窗口;另一种是提供一个主窗体,然后将其他窗口放在主窗体中,优点是窗口比较整齐。
在利用第二种策略管理窗口时,必须使用 JDesktopPane 类和 JInternalFrame 类(桌面面板类和内部窗体类)。 JDesktopPane 类是一个容器类,用来创建一个虚拟桌面; JInternalFrame 类是一个轻量级对象,用来创建支持拖动,关闭,图标化,调整大小,标题显示和菜单栏的内部窗体。
JDesktopPane 类中的常用方法
方法 | 说明 |
---|---|
getAllFrames() | 以数组的形式返回桌面中当前显示的所有 JInternalFrame |
getSeletedFrame() | 获得桌面当前被选中的 |
removeAll() | 从桌面中移除所有的 JInternalFrame |
remove(int index) | 从桌面中移除位于指定索引位置的 JInternalFrame |
setSelectedFrame(JInternalFrame f) | 设置指定的 JInternalFrame |
setDragMode(int dragMode) | 设置窗体的拖动模式,入口参数的可选静态常量有LIVE_DRAG_MODE 和 OUTLINE_DRAG_MODE |
JInternalFrame 类
JInternalFrame 类创建构造方法时,可设置的入口参数最多为5个。
JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
参数说明:
title:为内部窗体的标题。
resizable:设置是否允许自由调整大小,设为 true 表示允许,设为 false (默认值)表示不允许。
closable:设置是否提供“关闭”按钮,设为 true 表示提供,设为 false (默认值)表示提供。
maximizable:设置是否提供“最大化”按钮,设为 true 表示提供,设为 false (默认值)表示提供。
iconifiable:设置是否提供“最小化”按钮,设为 true 表示提供,设为 false (默认值)表示提供。
JInternalFrame 类中的常用方法
方法 | 说明 |
---|---|
setResizable(boolean b) | 设置是否允许自由调整大小 |
setClosable(boolean b) | 设置是否提供关闭按钮 |
setMaximizable(boolean b) | 设置是否提供“最大化”按钮 |
setIconifiable(boole |