这些事件是在 JSpliPane 的分割条的UI类中实现的
即这个类:javax.swing.plaf.basic.BasicSplitPaneDivider
如果楼主有兴趣可以研究下这个类中的 OneTouchActionHandler 类,
这个 OneTouchActionHandler 就是具体实现这些效果的类其实它主要是用到了 JSpliPane 以下的方法:setDividerLocation 设置分割条当前的位置
getDividerLocation 获得分割条当前的位置setLastDividerLocation 设置分割条上一次的位置
getLastDividerLocation 获得分割条上一次的位置getMaximumDividerLocation 获得分割条最大位置
getMinimumDividerLocation 获得分割条最小位置思路就是:
1、想最大化,就先把“上一次的位置”设置成“当前位置”
然后把“当前位置”设置成“最大位置”2、想最小化,就先把“上一次的位置”设置成“当前位置”
然后把“当前位置”设置成“最小位置”3、想还原,就把“当前位置”设置成“上一次的位置”4、注意从“最大化”直接到“最小化”
以及从“最小化”直接到“最大化”
时,不要覆盖之前记录的“上一次位置”