Ich versuche das Graphics-Objekt mit Hilfe von KeyListener zu steuern, allerdings scheint in der Mitte des Panels eine Art Barriere zu sein (Das Objekt bewegt sich weiter, allerdings scheint es optisch stehen zu bleiben).
Die Größe des Panels anpassen hat auch nicht geholfen.
Ich finde keinen Fehler und benötige deshalb eure Hilfe.
Ein Screenshot:
http://www.pic-upload.de/view-27797032/java_fail.jpg.html
Die Größe des Panels anpassen hat auch nicht geholfen.
Ich finde keinen Fehler und benötige deshalb eure Hilfe.
Ein Screenshot:
http://www.pic-upload.de/view-27797032/java_fail.jpg.html
Code:
package learning;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestKeyListener extends JPanel implements KeyListener {
int x = 1, y = 1, velX = 0, velY = 1;
public TestKeyListener() {
addKeyListener(this);
setFocusable(true);
setFocusTraversalKeysEnabled(false);
}
public static void main(String[] args) {
TestKeyListener board = new TestKeyListener();
JFrame frame = new JFrame();
frame.setTitle("Field");
frame.setSize(500, 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(board);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.GREEN);
g.fillOval(x, y, 50, 50);
}
@Override
public void keyPressed(KeyEvent arg0) {
System.out.println("right");
setX(getX() + 10);
repaint();
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}