我试图做一个简单的程序,显示让图像在屏幕上晃动。 现在iv'e成功地让图像从左到右形成,但现在我在屏幕上显示了20张图像。Java隐藏图像
我需要得到的是当下一张图像被打印出来,以前的图像被隐藏。另外如果有人可以帮我用计时器打印,这将是很好的。
这里是我的代码
package imagemove;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class imagemove extends Component {
private int x;
private int y;
BufferedImage img;
public imagemove() {
try {
img = ImageIO.read(new File("F:/JAVA/workspace/Tutorials/src/imagemove/1.jpg"));
} catch (IOException e) {
}
}
public void paint(Graphics g) {
x = 0;
y = 50;
for (int number = 1; number <= 15; number++) {
g.drawImage(img, x, y, this);
if (x > 1000) {
x = 0;
} else {
x += 100;
}
if(y > 100) {
y -= 100;
} else {
y += 25;
}
repaint();
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Boot");
f.setSize(1000,1000);
f.add(new imagemove());
f.setVisible(true);
}
}
然后它不会显示我任何图像 –
编辑我的帖子与工作版本。 – MasterCassim
为什么'this'是BufferedImage的ImageObserver? – Simiil