import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestGraphics_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Graphics_1();
}}
class Graphics_1 extends JFrame implements Runnable{
private Image image;
private int movex=0;
private Thread t;
Graphics_1(){
setTitle("Test Graphics");
setVisible(true);
setSize(new Dimension(400,300));
setLocation(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
image=Toolkit.getDefaultToolkit().getImage("D:/1.gif");
init();
}
public void init(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
JOptionPane.showConfirmDialog(Graphics_1.this, "确定要退出", "退出", JOptionPane.INFORMATION_MESSAGE);
}
});
t=new Thread(this);
t.start();
}
public void paint(Graphics g){
g.drawImage(image, movex,50,60, 60, this);
}
public void update(Graphics g){
paint(g);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
try{
t.sleep(100);
}catch(Exception e){}
if(movex+image.getWidth(this)<getSize().width){
movex+=2;
repaint();
}else{
break;
}
}
}
}
由于上传不了最后运行结果的图片,只能说说了。
最后得到的结果就是 物体在移动过程中后面留有很多残影。这是怎么回事?请各位高手帮帮忙,小弟在此谢过了。。
import java.awt.event.*;
import javax.swing.*;public class TestGraphics_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Graphics_1();
}}
class Graphics_1 extends JFrame implements Runnable{
private Image image;
private int movex=0;
private Thread t;
Graphics_1(){
setTitle("Test Graphics");
setVisible(true);
setSize(new Dimension(400,300));
setLocation(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
image=Toolkit.getDefaultToolkit().getImage("D:/1.gif");
init();
}
public void init(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
JOptionPane.showConfirmDialog(Graphics_1.this, "确定要退出", "退出", JOptionPane.INFORMATION_MESSAGE);
}
});
t=new Thread(this);
t.start();
}
public void paint(Graphics g){
g.drawImage(image, movex,50,60, 60, this);
}
public void update(Graphics g){
paint(g);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
try{
t.sleep(100);
}catch(Exception e){}
if(movex+image.getWidth(this)<getSize().width){
movex+=2;
repaint();
}else{
break;
}
}
}
}
由于上传不了最后运行结果的图片,只能说说了。
最后得到的结果就是 物体在移动过程中后面留有很多残影。这是怎么回事?请各位高手帮帮忙,小弟在此谢过了。。
解决方案 »
- 本人是新手,java中遇到个变量定义问题。高手帮我看看这串代码,class中这样定义怎么理解诶?
- 一个小问题,高手进来指导下
- Java进度条的疑难问题
- 为什么Byte b = new Byte("127"); b.toString() == b.toString 是false???
- list Array 之间的转化
- java程序运行中,如何修改背景色?在线等!
- 请问 "建构函数私有以防止其它对象创建本类实例" 这句话应该怎么理解
- j2sdk-1_4_1_01-windows-i586安装问题
- 点击关闭IE时,会不会调用网页中applet的某个函数?
- 请教:如何将JTable里的内容显示在tool tip中?
- 抽象方法与抽象类
- swing 保存图片的问题
super.paint(g);
整个代码import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestGraphics_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Graphics_1();
}}class Graphics_1 extends JFrame implements Runnable {
private Image image;
private int movex = 0;
private Thread t; Graphics_1() {
setTitle("Test Graphics");
setVisible(true);
setSize(new Dimension(400, 300));
setLocation(100, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); image = Toolkit.getDefaultToolkit().getImage("D:/1.gif");
init();
} public void init() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
JOptionPane.showConfirmDialog(Graphics_1.this, "确定要退出", "退出",
JOptionPane.INFORMATION_MESSAGE);
}
});
t = new Thread(this);
t.start();
} public void paint(Graphics g) {
super.paint(g);
g.drawImage(image, movex, 50, 60, 60, this);
} public void update(Graphics g) {
paint(g);
} @Override
public void run() {
// TODO Auto-generated method stub
while (true) {
try {
t.sleep(100);
} catch (Exception e) {
}
if (movex + image.getWidth(this) < getSize().width) {
movex += 2;
repaint();
} else {
break;
}
}
}}