Napisałem program, w którym owal ma chodzić za pomocą WSAD. W ogóle się nie porusza. Nie mam pojęcia co zrobić. Wyświetla się prawidłowo. Tutaj kod:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Program extends JFrame implements KeyListener{
private JLabel tlo, Char;
private int pozX = 30;
private int pozY = 50;
public Program(){
setSize(400, 300);
setTitle("Program");
setLocation(150, 120);
setResizable(false);
setLayout(null);
addKeyListener(this);
setFocusable(true);
tlo = new JLabel();
ImageIcon tl = new ImageIcon("tlo.PNG");
tlo.setBounds(0, 0, 400, 300);
tlo.setIcon(tl);
add(tlo);
}
public void paint(Graphics g) {
super.paint(g);
g.fillOval(pozX, pozY, 20, 20);
}
public static void main(String[] args){
Program okno = new Program();
okno.setVisible(true);
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void keyTyped(KeyEvent e) {
switch(e.getKeyCode()){
case KeyEvent.VK_W:
pozY -= 5;
break;
case KeyEvent.VK_S:
pozY += 5;
break;
case KeyEvent.VK_A:
pozX -= 5;
break;
case KeyEvent.VK_D:
pozX += 5;
break;
}
repaint();
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}