第十二周

Posted itskystudio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十二周相关的知识,希望对你有一定的参考价值。

JPanel

JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对窗体上的这些控件进行组合,相当于C++和C#中的Panel类。
JPanel可以实现各种复杂的界面显示。在JPanel中可以加入任意组件,然后直接将JPanel容器加入到JFrame容器中即可。

JSplitPane

JSplitPane的主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列。

JTabbedPane

JTabbedPane是在一个面板上设置多个选项卡供用户选择。JTabbedPane选项卡面板实现了一个多卡片的用户界面,通过它可以将一个复杂的对话框分割成若干个选项卡,实现对信息的分类显示和管理,使界面更简洁大方,还可以有效地减少窗体的个数。

构造方法

JTabbedPane():创建一个默认的选项卡面板,默认情况下标签在选项卡的上方,布局方式为限制布局

JTabbedPane(int tabPlacement):创建一个指定标签显示位置的选项卡面板,入口参数tabPlacement:为选项卡标题的位置, 值为TOP(选项卡上方,默认值)、BOTTOM(选项卡下方)、LEFT(选项卡左侧)、RIGHT(选项卡右侧)

JTabbedPane(int tabPlacement, int tabLayoutPolicy):创建一个既指定标签显示位置,又指定选项卡布局方式的选项卡面板,入口参数tabPlacement为选项卡标题的显示位置,入口参数tabLayoutPolicy: 选项卡位置不能放入所有的选项卡时,放置选项卡的策略,值为WRAP_TAB_LAYOU(限制布局,默认值)、SCROLL_TAB_LAYOUT(滚动布局)

常用方法

1、addTab(String title, Component component):添加一个标签为title的选项卡

2、addTab(String title, Icon icon, Component component):添加一个标签为title、图标为icon的选项卡

3、addTab(String title, Icon icon, Component component, String tip):添加一个标签为title、图标为icon、提示为tip的选项卡

4、InsertTab(String title, Icon icon, Component component, String tip, int index):在索引位置index处插入一个标题为title、图标为icon、提示为tip的选项卡。索引值从0开始

5、setTabPlacement(int tabPlacement):设置选项卡标签的显示位置

6、setTabLayoutPolicy(int tabLayoutPolicy):设置选项卡标签的布局方式

7、setSelectedIndex(int index):设置指定索引位置的选项卡被选中

8、setEnabledAt(int index, boolean enabled):设置 index 位置的选项卡是否可用

9、getSelectedComponent():获取当前选中的选项卡对应的内容组件

10、setComponentAt(int index, Component component):将 index 位置的内容组件设置为 component

11、setTabComponentAt(int index, Component titleComponent):自定义选项卡标题位置的组件, 这里的 titleComponent 将放到选项卡标题位置

12、removeTabAt(int index)或remove(int index):移除指定位置的选项

13、remove(Component component):移除指定内容控件的选项卡

14、removeAll():移除所有选项卡

状态监听器

void addChangeListener(ChangeListener l):添加选项卡选中状态改变的监听器

JScrollPane

当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到。滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板。JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件。JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。这样,从界面上看,在滚动面板上,好像也有多个组件。在Swing中,像JTextArea、JList、JTable等组件都没有自带滚动条,都需要将它们放置于滚动面板,利用滚动面板的滚动条,浏览组件中的内容。

JScrollPane类的构造方法有:

JScrollPane(),先创建JScrollPane对象,然后再用方法setViewportView(Component com)为滚动面板对象放置组件对象。
JScrollPane(Component com),创建JScrollPane对象,参数com是要放置于JScrollPane对象的组件对象。为JScrollPane对象指定了显示对象之后,再用add()方法将JScrollPane对象放置于窗口中。
JScrollPane对象设置滚动条的方法是:

setHorizontalScrollBarPolicy(int policy),policy 取以下列3个值之一:

JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER

setVerticalScrollBarPolicy(int policy), policy 取以下列3个值之一:

JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
JScrollPane.VERTICAL_SCROLLBAR_AS_NEED
JScrollPane.VERTICAL_SCROLLBAR_NEVER

以下代码将文本区放置于滚动面板,滑动面板的滚动条能浏览文本区

JTextArea textA = new JTextArea(20,30);
JScrollPane jsp = new JScrollPane(TextA);
getContentPane().add(jsp);//将含文本区的滚动面板加入到当前窗口中

JDesktopPane与JInternalFrame:

前者规定了一个父窗体的基本形态,后者规定各个子窗。

WindowListerner

windowOpened 打开
windowActivated 激活(获得焦点状态)
windowDeactivated 非激活(失去焦点状态)
windowIconified 最小化
windowDeiconified 最小化恢复正常
windowClosing 关闭(右上角X),优先于windowClosed
windowClosed 关闭,DISPOSE_ON_CLOSE时才会被调用

以上是关于第十二周的主要内容,如果未能解决你的问题,请参考以下文章

第十二周 设计原则

第十二周进度条

第十二周学习进度表

第十二周学习进度

学习进度第十二周

第十二周(补)