当前位置:  技术问答>java相关

如何更新我的.....(高分相送,我会再加贴子的)

    来源: 互联网  发布时间:2015-05-16

    本文导语:  各位,小弟最近用java来做了一个小动画 用的是paintComponent()方法画 在一个线程中调用Repaint方法重画 可是,重画时并不清除原有的内容,而是画出来有拖影,有时候甚至是 直接在原有的基础上添加,而不清除原有内...

各位,小弟最近用java来做了一个小动画
用的是paintComponent()方法画
在一个线程中调用Repaint方法重画
可是,重画时并不清除原有的内容,而是画出来有拖影,有时候甚至是
直接在原有的基础上添加,而不清除原有内容,
亲吻如何解决

原码:
package myprojects.model;

import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;

public class Model extends JFrame implements KeyListener
{
DrawLinePane pane = new DrawLinePane();

public Model() {
super("This is Cartoon");

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});

setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


addKeyListener(this);

getContentPane().add(pane);

show(true);
}

public void keyTyped(KeyEvent e)
{
int i = 1;
}

  public void keyReleased(KeyEvent e)
  {
    int i =1;
  } 

public void keyPressed(KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_UP){
pane.up();
}else if (e.getKeyCode() == KeyEvent.VK_DOWN){
pane.down();
}else if (e.getKeyCode() == KeyEvent.VK_LEFT){
pane.left();
}else if (e.getKeyCode() == KeyEvent.VK_RIGHT){
pane.right();
}

}

public static void main(String args[]) {
System.out.println("Starting Model...");
DrawLine line = new DrawLine();
}
}


class DrawLinePane extends JPanel implements Runnable
{
private Thread threadRunner = null;

double xPos = 0;
double yPos = 0;
double xMove = 1;
double yMove = 1;

DrawLinePane()
{
Thread threadRunner = new Thread(this);
threadRunner.start();
}
public void run()
{

while(true)
{
xPos += xMove;
yPos += yMove;
if(xPos > 300 || xPos  300 || yPos  300 || xPos  300 || yPos 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c#多线程更新窗口(winform)GUI的数据
  • Fedora 的更新包有必要更新么?
  • Windows7 更新操作步骤
  • ubuntu 更新信息存放位置?
  • Android 自动更新Demo
  • Cheney程序更新管理器
  • 怎么才能够更新数据库?
  • 关于linux 的项目更新问题??
  • Java 应用自动更新框架 Jupidator
  • jdbc可更新数据集问题,困扰我两日!!
  • 内存数据更新问题
  • centos5 今天的新的更新有必要吗?
  • Google自动更新程序 Omaha
  • 关于JTable自动更新数据的问题
  • 紧急求救!怎样用update更新指定的一行数据!
  • 如何监视数据变更,并及时更新显示好?
  • 下载的lINUX是有版本更新次数限制?
  • 关于文件更新日期(急)
  • 请问Ubuntu Linux 怎么实现离线更新呢?
  • libreoffice 更新问题!
  • 集群服务器下相同文件夹下文件同时更新


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3