中间容器充当基本组件的载体,不可独立显示。中间容器可以添加若干基本组件,也可以嵌套添加中间容器。最顶层的一个中间容器必须添加到顶层容器(如窗口或对话框)内才能发挥作用。
1.JPanel面板
JPanel 是在开发中使用频率非常高的一般轻量级面板容器组件,Jpanel不能单独的使用,必须依赖于外层的顶层容器(JFrame)。JPanel中组件布局方案默认用FlowLayout布局。
构造方法:
JPanel():创建默认使用流式布局的面板。
JPanel(LayoutManager layout):在创建面板的同时指定布局管理器。
2.JTabbedPane选项卡面板
选项卡面板。它允许用户通过点击给定标题或图标的选项卡,在一组件之间进行切换显示。
常用方法:
JTabbedPane():创建一个选项卡面板,选项卡标签默认在选项卡面板顶部。
JTabbedPane(int tabPlacement):创建一个指定选项卡标题位置的选项卡,默认在面板顶部。其中,tabPlacement表示选项卡标题的位置,值为JTabbedPane.TOP、JTabbedPane.BOTTOM、JTabbedPane.LEFT或JTabbedPane.RIGHT,默认为JTabbedPane.TOP。
void addTab(String title, Component component):添加组件到选项卡面板中,并设置标题名称为title。
void remove(Component component):移除指定内容控件的选项卡。
Component getSelectedComponent():获取当前选中的选项卡对应的内容组件。
int getTabCount()获取选项卡面板中选项卡的数量。
3.JScrollPane滚动面板
JScrollPane支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用JScrollPane进行包裹以实现滚动显示。JTextArea不带滚动条,通常会把JtextArea组件放到JScrollPane中,再把JScrollPane添加到窗口中。如:
new JFrame().add(new JScrollPane(new JTextArea);
常用方法:(www.daowen.com)
JScrollPane(Component view):创建一个滚动面板,并在滚动面板中显示view视图组件。
void setWheelScrollingEnabled(boolean handleWheel):是否响应鼠标滚动事件,默认响应。
void setViewportView(Component view):设置滚动显示视图内容组件。
void setVerticalScrollBarPolicy(int policy):设置垂直滚动条的显示策略。垂直滚动条显示策略(policy)的取值有:
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED:需要时显示(默认)。
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER:从不显示。
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS:总是显示。
4.JSplitPane分隔面板
JSplitPane用于分隔两个(只能两个)组件,两个组件通过水平或垂直分隔条分别左右或上下显示,并且可以拖动分隔条调整两个组件显示区域的大小。
常用的两个构造方法:
JSplitPane(int orientation, Component leftComponent, Component rightComponent);
其中,参数orientation表示分隔的方向,取值为JSplitPane.HORIZONTAL_SPLIT(水平左右分隔)或JSplitPane.VERTICAL_SPLIT(垂直上下分隔),默认水平左右分隔。leftComponent和rightComponent参数表示左右或上下要显示的组件。
其中,参数continuousLayout表示拖动分隔条时,是否连续重绘组件,如果为flase,则拖动分隔条停止后才重绘组件。其他三个参数同上一个构造函数。
5.JLayeredPane层级面板
JLayeredPane为容器添加了深度,允许组件互相重叠。JLayeredPane将深度范围按层划分,在同一层内又对组件按位置进一步划分,将组件放入容器时需要指定组件所在的层,以及组件在该层内的位置(position/index)。层的编号越大越显示在前面。同层内位置编号越大越靠近底部,位置编号取值范围: [0, n - 1],其中n-1表示最底层,0表示最顶层。
通过setLayer(Component c, int layer)可设置组件所在的层数。同一层内的组件,可通过调用moveToFront(Component)、moveToBack(Component) 和 setPosition(int) 调整层内的位置。
注意:添加到 JLayeredPane 内的组件需要明确指定组件位置和宽高,否则不显示,类似绝对布局。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。