Hallo habe mal wieder ein kleines Problem das ich einfach nicht verstehen kann... hier der gekürzte Quelltext dazu:
	
	
	
	
	
		
	
Das Programm soll einfach nur eine Sprung animation darstellen also ein label soll mit leertaste springen können.
Wenn die animation() aufgerufen wird zur Laufzeit funktioniert das auch warum aber nicht im KeyListener?!
			
			
		Java:
	
	package Blemmer_v2;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class blemmver_v2 {
	/**
	 * @param args
	 */
	
	static ImageIcon blemmer_img = new ImageIcon("src/BLEMMER_r.gif");
	static JLabel blemmer = new JLabel(blemmer_img);	
	static JFrame window = new JFrame("Blemmer V2");
	
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		
		window.setBounds(10,200,800,400);
		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
		
		Container cont = window.getContentPane();
		cont.setLayout(null);
		
		
		// Blemmer Label
		
		
		blemmer.setBounds(0,250,50,100);
		blemmer.setBackground(Color.black);
		cont.add(blemmer);
		
		
		
		
		
		
		blemmer.addKeyListener(new KeyAdapter()
		{
			 public void keyPressed(KeyEvent event)
			 {
		
				 
				 
				 // hier funktioniert leider nichts
				 if (event.getKeyCode() == KeyEvent.VK_SPACE) 
				 {
					 animation();
				 }
			 }
		});
		
		window.setVisible(true);
		
		
		
		
		
		// hier funktioniert alles wie es soll
		animation();
	}
	
	
	public static void animation()
	{
	
		try 
		{
			
				int sprung = 100;
				
				// hoch springen
				for(int i = 0; i< sprung;i++)
				{
					blemmer.setBounds(blemmer.getX(),blemmer.getY()-1, 50, 100);
					Thread.sleep(12);
				}
				
				// runter fallen
				for(int j = sprung;j >= 0;j--)
				{
					blemmer.setBounds(blemmer.getX(),blemmer.getY()+1, 50, 100);
					Thread.sleep(12);
				}
			
						
			
		} 
		catch (InterruptedException e) 
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
	Das Programm soll einfach nur eine Sprung animation darstellen also ein label soll mit leertaste springen können.
Wenn die animation() aufgerufen wird zur Laufzeit funktioniert das auch warum aber nicht im KeyListener?!