打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JAVA=====动态图像的控制实现
  1. /* 
  2. 时间: 
  3.     2012—11-01 
  4. 作者: 
  5.     烟大阳仔 
  6. 程序要求: 
  7.     编写一段程序,要求实现几个图片的载入并且实现动态的图片运动效果。 
  8. 程序解释: 
  9.     一:先从简单的一个图片的动态实现开始(注释代码部分), 
  10.         实现一个图片的动态:就是建立时间对象并且激活时间对象; 
  11.         当时间对象激活时就调用actionPerformed() 
  12.         根据该方法的命令实现动态: 
  13.         时间激活一次位置就上升10个单位, 
  14.         直达变量值小于10的时候再生成一个新的图像 
  15.     二:现在的程序结构比较精简而且比较容易操作执行, 
  16.         尽量进行如此的编写风格 
  17. */  
  18. import javax.swing.*;  
  19. import java.awt.*;  
  20. import java.awt.event.*;  
  21. class Day1101_Frame extends JFrame implements ActionListener  
  22. {  
  23.     public static void main(String[] args)   
  24.     {  
  25.         Day1101_Frame d=new Day1101_Frame();//构造函数  
  26.   
  27.     }  
  28.     Timer timer[]=new Timer[3];//时间对象  
  29.     int py[]=new int[3];  
  30.     JLabel l2[]=new JLabel[3];//标签  
  31.     JLabel l1;  
  32.     public Day1101_Frame()  
  33.     {  
  34.         super("动态窗口!");//名称  
  35.         Container c=getContentPane();//建立容器  
  36.         c.setLayout(null);//设置布局格式  
  37.         c.setBackground(Color.blue);//设置背景色  
  38.         ImageIcon i1=new ImageIcon("p1.gif");//加载图片  
  39.         ImageIcon i2=new ImageIcon("p2.gif");  
  40.         l1=new JLabel(i1);//建立标签  
  41.         l1.setSize(68,90);//设置大小  
  42.         l1.setLocation(37,40);//设置位置  
  43.         c.add(l1);//添加到容器  
  44.         for (int i=0;i<3 ; i++)//for循环实现的位置已经图片的控制  
  45.         {  
  46.             l2[i]=new JLabel(i2);  
  47.             l2[i].setSize(68,90);  
  48.             l2[i].setLocation(100+i*100,200);  
  49.             c.add(l2[i]);  
  50.             timer[i]=new Timer(100+100*i,this);//时间对象的控制  
  51.             py[i]=200;//位置的控制  
  52.             timer[i].start();//激活时间对象  
  53.         }  
  54.         /*l2=new JLabel(i2); 
  55.         l2.setSize(68,90); 
  56.         l2.setLocation(100,200); 
  57.         c.add(l2); 
  58.         timer=new Timer(100,this); 
  59.         py=200; 
  60.         timer.start();*/  
  61.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  62.         setSize(400,400);  
  63.         setVisible(true);  
  64.     }  
  65.     public void actionPerformed(ActionEvent e)  
  66.     {  
  67.         for (int i=0;i<3 ;i++ )//监听事件并进行操作的处理  
  68.         {  
  69.             if(e.getSource()==timer[i])//实现动态的核心语句在这里  
  70.             {  
  71.             py[i]-=10;  
  72.             if(py[i]<10)  
  73.                 py[i]=200;  
  74.             l2[i].setLocation(l2[i].getLocation().x,py[i]);//获取新的位置  
  75.             }  
  76.         }  
  77.           
  78.     }  
  79. }  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
实现JAVA手动布局中各个组件能随窗口变化的方法
javaQQ聊天程序详解
java图形界面
Java中如何关闭Frame窗口
java第一次上机实验--验证码
Java Swing中两种设置背景图(容器图片)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服