一种用于同区域的多界面动画切换方法

文档序号:8318955阅读:301来源:国知局
一种用于同区域的多界面动画切换方法
【技术领域】
[0001]本发明涉及一种界面切换方法,尤其涉及一种用于同区域的多界面动画切换方法。
【背景技术】
[0002]Swing是一个用于开发Java应用程序用户界面的开发工具包,由于具有良好的跨平台性、开放性与易用性,在电力、电信、金融等行业中已经得到广泛应用。随着Java版本的不断升级,Swing也在不断发展。Swing为开发人员提供了 JFrame、JPanel、JLabel、JButton、JTextField、JComboBox等基本界面组件,从而使开发人员只用很少的代码,就可以创建优雅的用户界面,使其具有丰富、灵活的功能。其中,JPanel为javax.swing包中的面板容器,可以加入到JFrame中。由于它自身是个容器,可以把其他compont加入到JPanel中,如JButton、JTextArea、JTextField等。另外,也可以在它上面进行绘图。
[0003]在Web页面中,经常用图像Switch组件来实现图片上一张下一张切换浏览的效果。而在基于Swing的程序界面设计中,没有能够实现类似效果的组件,即无法在显示区域内实现多幅JPanel界面动画切换。
[0004]公布号为CN103176689A的中国专利申请公开了一种界面切换方法,包括以下步骤:接收界面切换的指令;对切换前的实际界面和切换后的实际界面中的至少一者进行截图;以所述截图作为临时界面执行切换动画;显示切换后的实际界面。上述界面切换方法在两个界面之间进行切换的时候,采用截图技术实现伪桌面的切换,切换过程中不需要对切换过程中原界面上的每个元素进行绘制,只需要绘制截图,从而可以减少计算量。但是该界面切换方法在进行界面切换时,无法在界面切换时使其具有动画效果。
[0005]公布号为CN103607660A的中国专利申请公开了一种智能电视的界面切换的控制方法和控制装置,所述智能电视包括多幅界面,多幅界面按照预置顺序排列为界面队列,当处于任一界面时,该方法包括:接收控制信号并进行解析;如果控制信号为进行界面切换,则确定当前界面在界面队列中的位置以及切换方向;基于当前界面在界面队列中的位置,判断切换方向上是否存在可切换至的目标界面;如果判断结果为否,则显示预置动画,以提示当前界面向切换方向上已无法执行切换操作。根据该技术方案,在当前界面向切换方向已不存在可切换的目标界面时,可提示用户已无法再执行切换操作,在给用户起到引导作用的同时,可提高用户切换界面的效率。但是,该技术方案在进行界面切换时,无法在界面切换时使其具有动画效果。

【发明内容】

[0006]针对现有技术的不足,本发明所要解决的技术问题在于提供一种用于同区域的多界面动画切换方法。
[0007]为实现上述发明目的,本发明采用下述的技术方案:
[0008]一种用于同区域的多界面动画切换方法,包括以下步骤:
[0009](I)选择需要显示的JPanel界面,截取正在显示的JPanel界面与所述需要显示的JPanel界面的画面图像对象;
[0010](2)将所述正在显示的JPanel界面与所述需要显示的JPanel界面的两个画面图像对象按照先后顺序,拼接成一个画面图像对象;
[0011](3)启动一个线程,用于进行循环绘制所拼接成的画面图像对象,将所拼接成的画面图像对象分多次绘制,从而实现动画切换效果。
[0012]其中较优地,所述步骤(I)中,将所截取的画面图像对象放置在哈希表中,并进行编号,形成索引号。
[0013]其中较优地,所述索引号与父组件面板的切换按钮一一对应。
[0014]其中较优地,所述步骤(3)中,若从右向左切换时,将所拼接成的画面图像对象分K次绘制,包括,每次绘制所拼接成的画面图像对象的1/K部分,所述1/K部分的左上点坐标为(i* (W/2) * (1/K),O),宽度为 W/2,高度为 H ;
[0015]其中,W为所拼接的画面图像对象的宽度,H为所拼接的画面图像对象的高度,i代表当前为第i次循环,K为循环总次数。
[0016]其中较优地,当界面多于两幅时,所述多界面动画切换方法还包括:
[0017](4)启动另一个线程,所述另一个线程按照所述步骤(3)的方法,将所述正在显示的JPanel界面进行移除,并将所述需要显示的JPanel界面放置到显示区域内,重复多次完成多幅界面的动画切换。
[0018]其中较优地,所述步骤(4)中,所述另一个线程设当前显示的界面为JPanel(n),获取需要显示的JPanel (m)界面的索引号m,并设置m值为n+1 ;所述另一个线程休眠t秒,将父组件面板显示区域中的当前显示的JPanel界面替换为JPanel (m)界面,同时显示两个JPanel界面动画切换的效果。
[0019]其中较优地,若索引号m大于所有JPanel界面的索引号的最大值,则设置索引号m为O。
[0020]与现有技术相比较,本发明实现了显示区域内上一幅JPanel界面与下一幅JPanel界面之间的动画切换显示,界面切换流畅自然。由于JPanel默认支持鼠标和键盘操作,在多界面进行切换时用户可以使用鼠标和键盘,方便快捷,从而可以弥补了图片切换时不支持鼠标操作的不足。
【附图说明】
[0021]图1是本发明中,父组件面板与多个JPanel界面的位置示意图;
[0022]图2是本发明中,一次JPanel界面间的切换流程图;
[0023]图3是本发明中,JPanel界面间的动画切换效果流程图;
[0024]图4是本发明中,多JPanel的自动切换流程图;
[0025]图5是本发明中,JPanel界面间的动画切换效果分步示意图。
【具体实施方式】
[0026]下面结合附图和具体实施例对本发明的技术内容作进一步的详细说明。
[0027]针对上述问题,本发明提供了一种用于同区域的多界面动画切换方法,包括以下步骤:
[0028](I)选择需要显示的JPanel界面,提取显示器正在显示的JPanel界面与需要显示的JPanel界面的画面图像对象;
[0029](2)将上述两个画面图像对象按照先后顺序,拼接为一个画面图像对象;
[0030](3)启动一个线程进行循环绘制,循环绘制的过程中,每次绘制所拼接的画面图像对象的一部分,循环绘制结束后即完成了两个JPanel界面的动画切换。
[0031]较优地,当有多幅界面时,上述多界面动画切换方法还包括以下步骤:
[0032](4)启动另一个线程,另一个线程按照步骤(3)的方法,将正在显示的JPanel界面进行移除,并将需要显示的JPanel界面放置到显示区域内,重复多次完成多幅界面的动画切换。
[0033]下面对各步骤进行进一步的详细描述。
[0034]父组件面板继承自JPanel类,如图1所示,父组件面板的显示区域I用于展示多幅JPanel界面3,父组件面板的切换按钮区域2用于单击切换按钮4展示不同的JPanel界面3ο
[0035]首先,本发明将多幅需要显示的JPanel界面放到哈希表中并进行编号,形成指向该JPanel界面的索引号,JPanel (η)界面是指索引号为η的JPanel界面。按照顺序对多幅JPanel界面进行编号,切换按钮区域的切换按钮与索引号对应,如图1所不,JPanel界面(I)、JPanel界面(2)、JPanel界面(3)、JPanel界面(4),其分别对应切换按钮1、切换按钮2、切换按钮3、切换按钮4。父组件面板在同一时刻只能显示其中一个JPanel界面
(3)ο当需要显示某一索引号的JPanel界面(3)时,将该JPanel界面(3)添加到父组件面板的显示区域I内。
[0036]利用切换按钮切换JPanel界面的过程,如图2所示,首先点击切换按钮区域中其中一个切换按钮η,该切换按钮η对应将要显示的目标JPanel (η)界面。按照索引号η从哈希表中获得需要显示的JPanel (η)界面,对该JPanel (η)界面进行截图,形成JPanel (η)界面的画面图像对象,保存原有JPanel界面(即正在显示的JPa
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1