Manipular Keylistner em JWindow

Galera por q nao consigo clicar na tela, nem mover a imagem marcador com o teclado?

package GM;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.RenderingHints.Key;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JWindow;

public class Game implements KeyListener {

	private static JWindow tela1;
	private static final int width = 600;
	private static final int height = 500;

	private static String imgStr_bk_tela1 = "/bkLogin.png";
	private static ImageIcon imgIcon_tela1;
	//
	private static String img_markador = "/marcador.png";
	private static ImageIcon markador;
	private static Painel_Tela1 painel;
	//
	private static int marcadorTamanhoX=161;
	private static int marcadorTamanhoY=44;
	private static int marcadorPosiX=40;
	private static int marcadorPosiY=135;

	public static void main(String[] args) {

		tela1();
	}

	public static void tela1() {

		   tela1 = new JWindow();
	        tela1.setSize(width, height);
	        tela1.setFocusable(true);
	        tela1.setLayout(null);
	        tela1.setLocationRelativeTo(null);

	        imgIcon_tela1 = new ImageIcon(Game.class.getResource(imgStr_bk_tela1));
	        painel = new Painel_Tela1(); // Inicializa o painel
	        painel.setBounds(0, 0, width, height); // Define o tamanho e a posição do painel
	        painel.setFocusable(true);
	        painel.addKeyListener(new Game()); // Adiciona o KeyListener ao painel
	        painel.requestFocusInWindow(); // Solicita o foco para o painel
	        
	        markador = new ImageIcon(Game.class.getResource(img_markador));

	        tela1.add(painel); // Adiciona o painel à janela
	        tela1.setVisible(true); // Torna a janela visível

	}

	// obs: E importante a classe painel esta como static tambem!
	public static class Painel_Tela1 extends JPanel {

		public Painel_Tela1() {

		}

		@Override
		public void paintComponent(Graphics g) {
			super.paintComponent(g); // Chama o método pai para garantir que a tela seja limpa
			Image image = imgIcon_tela1.getImage();
			g.drawImage(image, 0, 0, Game.width, Game.height, this);
			//
			
			Image imageMarcador = markador.getImage();
			g.drawImage(imageMarcador, Game.marcadorPosiX, Game.marcadorPosiY, Game.marcadorTamanhoX,Game.marcadorTamanhoY, this);
		}

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void keyPressed(KeyEvent e) {
		
	  if (e.getKeyCode() == KeyEvent.VK_DOWN) {
			  
			  Game.marcadorPosiY+=20;
			  painel.repaint(); // Atualiza o painel para refletir a nova posição do marcador
			       
		  }
	
		
	}

	@Override
	public void keyReleased(KeyEvent e) {
		
		
	}

}

É que vc esta adicionando no JPanel (painel), o correto seria no JFrame (tela1), tente assim:

 tela1.addKeyListener(new Game()); // Adiciona o KeyListener ao painel
1 curtida