Java 中的滑动面板





5.00/5 (8投票s)
Swing 中动画滑动面板。
介绍
本文的目的是创建一个动画滑动面板,以便在 Swing 应用程序中呈现炫酷的外观。 如果您是 Windows 用户,那么您一定熟悉这种面板。 您将能够分组/取消分组滑动窗格。 图 1 显示了一个分组滑动窗格,一次只能有一个面板处于展开模式。 在图 2 中,有多个面板处于展开模式。 此外,您还可以设置默认情况下哪个面板可以处于展开模式。 让我们开始吧。
图 1 图 2
理解类
解压缩 zip 文件后,您将获得以下类
- SlideAnimator.java: 此类负责动画效果。
- SlideContainer.java: 此类保存需要滑动的面板。
- TitlePanel.java: 标题面板包含标题名称以及其他信息,例如图标、切换按钮图标等。
- SlidingPanel.java: 封装标题面板和滑动面板。
- SlidePaneFactory.java: 基本上是一个盒子,用于添加滑动面板。
- StateListener.java: 一个用于切换滑动面板状态(展开/折叠)的接口。
- BookForm.java: 将出现在滑动面板中的自定义面板。
- TestSlidingPanel.java: 这是测试类。
背景
图 3
从图 3 可以看出各个类之间的关系。 黄色框表示需要滑动的面板(在本例中为BookForm.java)。 灰色框表示 SlideConatiner
面板,SlideAnimator
类(负责动画效果)在该面板上进行滑动过渡。 红色框是标题面板。TitlePanel
将出现在每个 SlideComponent 的顶部。 蓝色框封装了 TitlePanel
和 SlideContainer
。 最后一个黑色框表示 SlidePaneFactory
类,它基本上是一个用于保存 SlidePanel
的容器。
步骤详解
创建滑动窗格非常简单。 首先,您必须创建一个SlidePaneFactory
实例。 有两种方法可以创建工厂实例。
SlidePaneFactory.getInstance();
// or
SlidePaneFactory.getInstance(boolean isGroup);
默认的 getInstance()
用于创建未分组的滑动窗格。 要创建分组的滑动窗格,请传递布尔值 true。 现在 SlidingPaneFactory
已准备就绪。 每个工厂代表每个滑动窗格,并且每个滑动窗格又可以包含多个滑动面板。 要将滑动面板添加到 SlidePane
中,您可以使用以下语句之一
SlidePaneFactory.add((JComponent slideComponent);
// or
SlidePaneFactory.add((JComponent slideComponent, String title);
// or
SlidePaneFactory.add((JComponent slideComponent, String title, Image imageIcon);
// or
SlidePaneFactory.add((JComponent slideComponent, String title, Image imageIcon, boolean isExpand);
“slideComponent
”代表滑动面板。 第二个参数用于设置滑动面板的标题。 imageIcon
用于设置滑动面板的图像,最后一个参数用于设置面板是处于展开/折叠模式。
现在是最后一步,将工厂实例添加到您的应用程序中。
关注点
非常容易创建。 您可以轻松地将分组的滑动面板转换为未分组的滑动面板,反之亦然,并且还可以轻松地设置每个面板的默认状态(展开/折叠)。
鸣谢
- 特别感谢 filthy-rich-clients 。 为了动画面板,我使用了 SlideInNotification.java 代码,并根据我的要求进行了一些自定义。
- 特别感谢 Dhilshuk Reddy 的渐变面板。