Bilder Laden?

Yetkin

Grünschnabel
HAllo an alle!

ich habe kleine Probleme, ich möchte in einem Frame paar bilder nacheinader laden und zeigen und dazu mit einem Button Starten und Stoppen

ich hab folgende Code geschrieben aber leider funktioniert nicht

kann jemandem mir helfen

wo mache ich den hier fehler? :(

package iki;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Animation extends JFrame implements Runnable,ActionListener

{
Thread th;
Image[] arImg;
int actimage;
boolean start=true;
boolean stop=false;

public static void main(String[] args)

{
Animation wnd = new Animation();
wnd.setSize(700,800);
wnd.setVisible(true);
wnd.startAnimation();
}

public Animation()
{
super("Bitmap-Folge");
Container contentPane=getContentPane();
contentPane.setLayout(new BorderLayout());
JButton button=new JButton("start/stop");
button.addActionListener(this);
contentPane.add("South",button);
}

public void startAnimation()
{
th = new Thread(this);
actimage = -1;
th.start();
}
public void stopAnimation()
{
th.stop();

}
public void run()
{
//Bilder laden
arImg = new Image[5];
MediaTracker mt = new MediaTracker(this);
Toolkit tk = getToolkit();
for (int i = 1; i <= 5; ++i) {
arImg[i-1] = tk.getImage("/home/babur/animation/berfin1"+i+".jpg");
mt.addImage(arImg[i-1], 0);
actimage = -i;
repaint();
try {
mt.waitForAll();
} catch (InterruptedException e) {
//nothing
}
}
//Animation beginnen
actimage = 0;
while (true) {
repaint();
actimage = (actimage + 1) % 5;
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
//nichts
}
}
}

public void paint(Graphics g)
{
if (actimage < 0) {
g.drawString("Lade Bitmap "+(-actimage),10,50);
} else {
g.drawImage(arImg[actimage],10,30,this);
}
}
public void actionPerformed(ActionEvent event){
if(event.getActionCommand().equalsIgnoreCase("start/stop")){
start=!start;
if(start==true){
startAnimation();
}
else {
stopAnimation();
}
}

}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}

}
 

Neue Beiträge

Zurück