使用Timer类的动画
2015-11-29 14:52
351 查看
程序清单
“`
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AnimationDemo extends JFrame {
}
![](http://img.blog.csdn.net/20151129145154026)
“`
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AnimationDemo extends JFrame {
public AnimationDemo() { add(new MovingMessagepanel("Message moving")); } public static void main(String[] args) { AnimationDemo frame=new AnimationDemo(); frame.setTitle("AnimationDemo"); frame.setSize(280,100); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } static class MovingMessagepanel extends JPanel { private String message ="Welcome to Java"; private int xCoordinate=0; private int yCoordinate=20; public MovingMessagepanel(String message) { this.message=message; Timer timer = new Timer(1000, new TimerListener()); timer.start(); } public void paintComponent(Graphics g) { super.paintComponent( g); if(xCoordinate>getWidth()) { xCoordinate=-20; } xCoordinate += 20; g.drawString(message,xCoordinate,yCoordinate); } class TimerListener implements ActionListener { public void actionPerformed(ActionEvent e) { repaint(); } } }
}
相关文章推荐
- win32控制台
- 【技术】电脑管家的ARP防火墙提示安装驱动装不上问题
- 在iOS中使用ZXing库
- 中小型网站架构分析及优化
- Flask-restful API演示
- 1022. Digital Library (30) STL 中 vector,string,map的运用
- 传统线程互斥技术Synchronized01
- Java创建柱状图及饼状图
- Java创建柱状图及饼状图
- LeetCode(279)Perfect Squares
- JavaScript模块化编程 - CommonJS, AMD ,CMD和 RequireJS之间的关系
- Scala Spark 连接 HBase ( IDEA) 调试Spark Standalone
- c#之再战委托事件多线程2_委托和事件结合降低模块低耦合
- Intellij之Maven管理JDK版本
- [leetcode] 97. Interleaving String 解题报告
- Git版本控制管理学习笔记1-介绍
- LeetCode(279)Perfect Squares
- 可变参数列表来实现printf函数的输出
- FZU Fire Game
- 浅谈我与软件工程