public class plansza extends JPanel implements ActionListener {
final int DELAY=10;
int x,y,mx,my;
Image statek;
Timer timer;
public plansza() {
InitUi();
}
private void InitUi()
{
setBackground(Color.BLACK);
setSize(500,500);
loadImage();
setFocusable(true);
}
private void loadImage()
{
ImageIcon ii = new ImageIcon("statek.png");
statek= ii.getImage();
x=250;
y=450;
timer = new Timer(DELAY, this);
timer.start();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
draw(g);
}
private void draw(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(statek,x,y,this);
}
public void move()
{
x+=mx;
y+=my;
}
@Override
public void actionPerformed(ActionEvent e) {
move();
repaint();
}
public void KeyPressed(KeyEvent e) {
int key = e.getKeyCode();
if(key==KeyEvent.VK_LEFT)
mx+=1;
if(key==KeyEvent.VK_RIGHT)
mx-=1;
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if(key==KeyEvent.VK_RIGHT)
mx=0;
if(key==KeyEvent.VK_LEFT)
mx=0;
}
}
Chciałbym aby statek poruszał się w prawo lub w lewo w zależności od klikniętego przycisku poprzez odmalowywanie go w nowej pozycji. Pokazuje się w pierwszej startowej pozycji ale za nic nie chce się poruszać.