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) {
}
}