曾经在开源项目openSwing上看到了一个实现类似QQ折叠面板的组件我发现Windows里面的任务面板和那个功能有些类似openSwing上的代码又略显复杂于是决定自己动手写一个废话不说先来看看效果对比图 windows任务视窗 我的模拟效果 呵呵还有几分神似吧下面来说说几个关键点 首先要确定整体结构就是一个大面板嵌套N个子面板 确定子面板结构首先子面板的标题头要始终显示内容面板(含有子项)可以隐藏于是我们使用BorderLayout布局子面板引入Jbuider的VerticalFlowLayout布局内容面板显示或隐藏该面板时都要removeAll()子面板上所有组件再重新添加切忌 最后就是子面板标题Button内容项Label的实现都是继承基本的JComponent |