理论教育 java程序设计中间容器的使用方法详解

java程序设计中间容器的使用方法详解

时间:2023-10-18 理论教育 版权反馈
【摘要】:中间容器充当基本组件的载体,不可独立显示。最顶层的一个中间容器必须添加到顶层容器内才能发挥作用。其中,tabPlacement表示选项卡标题的位置,值为JTabbedPane.TOP、JTabbedPane.BOTTOM、JTabbedPane.LEFT或JTabbedPane.RIGHT,默认为JTabbedPane.TOP。文本区域、表格等需要显示较多数据而空间又有限时,通常使用JScrollPane进行包裹以实现滚动显示。

java程序设计中间容器的使用方法详解

中间容器充当基本组件的载体,不可独立显示。中间容器可以添加若干基本组件,也可以嵌套添加中间容器。最顶层的一个中间容器必须添加到顶层容器(如窗口或对话框)内才能发挥作用。

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 内的组件需要明确指定组件位置和宽高,否则不显示,类似绝对布局。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈