演示Frame界面展开与关闭动画
来源:互联网 发布:剑三纯阳正太捏脸数据 编辑:程序博客网 时间:2024/06/10 00:11
- package com.yy;
- import java.awt.Dimension;
- import java.awt.Frame;
- import java.awt.Point;
- import java.awt.Toolkit;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- /**
- * 演示Frame界面展开与关闭动画
- *
- * @author cyl
- *
- */
- public class frameExit extends JFrame {
- JButton btn_cancel = null;
- frameExit frame;
- public frameExit() {
- frame = frameExit.this;
- frame.setSize(80, 60);
- btn_cancel = this.getJButton1();
- add(btn_cancel);
- actionCreate(frame);
- }
- // exit action
- private JButton getJButton1() {
- if (btn_cancel == null) {
- btn_cancel = new JButton();
- btn_cancel.setText("cancel");
- btn_cancel.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- actionExit(frame);
- }
- });
- }
- return btn_cancel;
- }
- // create motion
- private void actionCreate(Frame frame) {
- frame.setVisible(true);
- final int loop = 60;
- if (frame != null) {
- Point oldP = frame.getLocation();
- Dimension dim = frame.getSize();
- int maxwidth = 800;
- int maxheigth = 600;
- oldP.x += dim.width * 2;
- oldP.y += dim.height * 2;
- int dx = maxwidth / loop;
- int dy = maxheigth / loop;
- for (int ii = 0; ii < loop; ii++) {
- dim.width += dx;
- dim.height += dy;
- frame.setSize(dim);
- centerFrame(frame);
- frame.repaint();
- try {
- Thread.sleep(600 / loop);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- // Exit motion
- private void actionExit(Frame frame) {
- final int loop = 60;
- if (frame != null) {
- Point oldP = frame.getLocation();
- Dimension dim = frame.getSize();
- oldP.x += dim.width / 2;
- oldP.y += dim.height / 2;
- int dx = dim.width / loop;
- int dy = dim.height / loop;
- for (int ii = 0; ii < loop; ii++) {
- dim.width -= dx;
- dim.height -= dy;
- frame.setSize(dim);
- centerFrame(frame);
- try {
- Thread.sleep(600 / loop);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- frame.setVisible(false);
- frame.dispose();
- System.exit(1);
- }
- // center frame in screen
- private void centerFrame(Frame frame) {
- Toolkit kit = Toolkit.getDefaultToolkit();
- Dimension screenSize = kit.getScreenSize();
- int screenHeight = screenSize.height;
- int screenWidth = screenSize.width;
- int frameH = frame.getHeight();
- int frameW = frame.getWidth();
- frame.setLocation((screenWidth - frameW) / 2, (screenHeight - frameH) / 2);
- }
- public static void main(String[] args) {
- new frameExit();
- }
- }
- 演示Frame界面展开与关闭动画
- 圆形展开/关闭动画
- JQ---表格展开与关闭
- android开发(10) 逐帧动画演示(Frame Animation)
- 选择屏幕的展开与关闭
- 24-tween动画、frame动画与动画运用
- 安卓视图动画+收缩与展开
- Animation Frame动画实现应用的欢迎界面
- Js动画打开、关闭层的演示代码
- Frame动画
- frame动画
- Frame动画
- Android:动画:Frame动画
- 展开层与关闭层的动态缓冲效果特效
- 【iOS界面布局】 frame 与 bounds 的区别与关系
- IOS界面开发基础——Frame与Bounds
- jquery表格展开关闭
- 树状展开和关闭
- Situations Where SQLite Works Well
- LKD4
- 开闭原则(Open-Closed Principle)
- 有食欲不?
- 请教各位高手一个从数据库中取出图片另存的问题!
- 演示Frame界面展开与关闭动画
- oracle 取整函数
- 使用 sed 编辑器
- 存储过程入门
- ORACLE时间函数
- java解析xml文件四种方式
- Office编程在dot Net环境中总结(Word生成表格报表篇) (一)
- 加油
- Office编程在dot Net环境中总结(Word生成表格报表篇) (二)