import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class MovingCar extends JFrame
{
public MovingCar(String s)
{
super(s);
CarPanel MyCar=new CarPanel();
add(MyCar);
}
public static void main(String [] args)
{
JFrame mine=new MovingCar("my window");
mine.setSize(500,300);
mine.setLocation(200,200);
mine.setVisible(true);
}
public class CarPanel extends JPanel
{
public CarPanel()
{
Timer timer=new Timer(1000,new TimeActionListener());
timer.start();
}
}
class TimeActionListener implements ActionListener
{
public void actionPerformed(ActionEvent g)
{
repaint();
}
}
protected void paintComponent(Graphics g)
{
super.paintComponents(g);
int px=0;
int py=5;
if(px>=getWidth())
px=0;
px+=5;
g.drawString("mmmm",px,py);
}
}
一个简单的Timer动画,就是没显示,求指点啊
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
_1_1_7_ 2011-09-07 09:53关注[code="java"]
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;public class MovingCar extends JFrame {
public MovingCar(String s) {
super(s);
CarPanel MyCar = new CarPanel();
add(MyCar);
}public static void main(String[] args) { JFrame mine = new MovingCar("my window"); mine.setSize(500, 300); mine.setLocation(200, 200); mine.setVisible(true); mine.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public class CarPanel extends JPanel { int px=0; public CarPanel() { Timer timer = new Timer(200, new TimeActionListener()); timer.start(); } class TimeActionListener implements ActionListener { public void actionPerformed(ActionEvent g) { repaint(); } } protected void paintComponent(Graphics g) { super.paintComponents(g); g.clearRect(0, 0, getWidth(), getHeight()); int py = 50; if (px >= getWidth()) px = 0; px += 5; g.setColor(Color.red); g.drawString("mmmm", px, py); } }}
[/code]刚才发错了,我改了一下,可以了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报