Swinghacks——JTabbedPane切换百页窗效果
先上图看效果
就切换效果来说不是很有意思,不过实现原理还是有点意思,请往下看
首先肯定是要在ChangeListener里监听切换动作,然后有意思的是下面的代码
Component comp = this.getComponentAt(previous_tab);buf = new BufferedImage(comp.getWidth(),comp.getHeight(),BufferedImage.TYPE_4BYTE_ABGR);comp.paint(buf.getGraphics());
JTabbedPane.getComponentAt方法获取页签里的控件,buf是new的BufferedImage
有意思的是,调用paint方法时,把buf的Graphics作为参数,这样paint重画控件的时候,就把内容全部画到buf中了
好吧,现在已经获取到一个页签的快照图片,百页窗效果的思路也来了
1、重载paintChildren方法,在该方法里用buf图片来填充子控件,画出百页窗效果。
2、在JTabbedPane的ChangeListener里调用repaint(),这样repaint会调用paintChildren产生百页窗效果
Swinghacks——JTabbedPane切换百页窗效果相关推荐
- Android 动画之View动画效果和Activity切换动画效果
View动画效果: 1.>>Tween动画 通过对View的内容进行一系列的图形变换(平移.缩放.旋转.透明度变换)实现动画效果,补间动画需要使用<set>节点作为根节点,子节 ...
- 在多个游戏视图间切换实现效果
2019独角兽企业重金招聘Python工程师标准>>> 在多个游戏视图间切换实现效果 2.2.3 实现效果 将脚本加到CameraSwitch上,并选中此游戏对象,在Inspect ...
- angular点击按钮弹出页面_Axure RP8:如何做出点击按钮切换页面效果?
如何利用Axure RP8做出点击按钮切换页面效果?一起来文中看看~ 先来看一下页面的效果图:点击不同的按钮,切换不同的页面.(是web端和手机端都很常见的交互效果) 实现这一效果大致要分为三个步骤: ...
- javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)...
在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...
- 的图片怎么循环渲染_十分钟教你做个炫酷的图片切换过度效果
做个炫酷的图片切换过度效果 首先,今天是520节日.到了520这类为情侣准备的节日,小编都会感到一万点暴击-- 首先酸一波,搞点事情(蹭波热度). 给大家分享一个520特效页面:看完记得回来为小编点个 ...
- 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果...
基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...
- android学习笔记---56_activity切换动画与页面切换动画,自定义activity窗口切换动画效果的实现.
2013/5/17 Java技术qq交流群:JavaDream:251572072 56_activity切换动画与页面切换动画 ----------------------------------- ...
- JavaScript 图片切换展示效果
JavaScript 图片切换展示效果 看到alibaba的一个图片切换效果,感觉不错,想拿来用用.但代码一大堆的,看着昏,还是自己来吧. 由于有了做图片滑动展示效果的经验,做这个就容易得多了. 先看 ...
- Android Activity中实现Fragment切换功能效果
一个最简单的Activity中实现Fragment切换功能效果: 一.效果图: 二.快速实现: 一个Activity中添加多个Fragment进行切换实现相应的功能需求逻辑,比如在activity中有 ...
最新文章
- 读取SD卡里面的BMP文件 显示到TFT上
- maven pom resources标签的使用示例
- matlab 2010 win7 64位,64位WIN7系统怎么安装Matlab2010
- android tv market,安卓市场TV版
- 记一次 Vue 移动端活动倒计时优化
- 好代码是管出来的——C#的代码规范
- Cocos2d-x 3.x:如何进行合理的内存分配(使用AutoreleasePool 来合理的管理内存)
- 百度 UEditor--自定义上传文件路径及读取文件
- python版本的适配器模式(对象)
- android debug 签名,Android Studio中debug模式下使用release签名
- socket.io html5 聊天,WebSocket探讨之——socket.io搭建多聊天室
- PHP报错 Module ‘openssl‘ already loaded in Unknown on line 0
- informix安装教程以及创建一个实例(详细)(系列1,informix安装篇)
- 学生网页设计作业源码(HTML+CSS)——海贼王6页代码质量好
- python timepicker_Android之日期时间选择控件DatePicker和TimePicker
- reg文件编写方法整理
- 三星服务器锁微信,三星手机微信支付设置指纹锁步骤
- 自删除技术小记:Gary Nebbett
- 百万冲顶 获取复活币
- 基于马尔科夫链的关于CpG岛的模式识别分类学习器