Hallo,
ich habe mit Graphics meinen Hintergrund bestehend aus 3 ebenen gezeichnet und möchte nun, dass dieser mit dem Keylistner bewegt werden kann. Das Problem ist, dass ich nicht weiß, wie ich den X-Wert so ändere, dass er auch übernommen wird...
Ich habe Methoden, die den x-Wert ändern, jedoch passiert wenn ich die Taste drücke nichts. Wäre schön wenn mir jemand sagen könnte, was ich falsch gemacht habe und wie es richtig geht.
PS: Ich habe dem JFrame den KeyListner auch hinzugefügt.
Vielen Dank für die Hilfe!
ich habe mit Graphics meinen Hintergrund bestehend aus 3 ebenen gezeichnet und möchte nun, dass dieser mit dem Keylistner bewegt werden kann. Das Problem ist, dass ich nicht weiß, wie ich den X-Wert so ändere, dass er auch übernommen wird...
Java:
package Gui;
import java.awt.*;
import javax.swing.*;
import Actions.ImageLoader;
public class Panel extends JPanel {
private static final long serialVersionUID = 1L;
private ImageLoader il = new ImageLoader();
private int bgX = -1000;
public Panel() {
new JPanel();
setSize(1000,743);
setLayout(null);
setVisible(true);
repaint();
}
public void paintComponent(Graphics g) {
g.drawImage(il.BgE3(), bgX, 0, 3000, 743, null);
g.drawImage(il.BgE2(), bgX, 0, 3000, 743, null);
g.drawImage(il.BgE1(), bgX, 0, 3000, 743, null);
}
public Panel(String x) { System.out.println("Panel wurde aufgerufen aus der Klasse " + x); }
public void setBgX(int bgx) { bgX = bgx; repaint(); }
public int getBgX() { return bgX; }
}
Java:
package Actions;
import java.awt.event.*;
import Gui.Panel;
public class KeyHandler implements KeyListener {
Panel p = new Panel("KeyHandler");
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_LEFT) {
if(p.getBgX() <= 0){
p.setBgX(p.getBgX() + 5);
p.repaint();
}
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
Ich habe Methoden, die den x-Wert ändern, jedoch passiert wenn ich die Taste drücke nichts. Wäre schön wenn mir jemand sagen könnte, was ich falsch gemacht habe und wie es richtig geht.
PS: Ich habe dem JFrame den KeyListner auch hinzugefügt.
Vielen Dank für die Hilfe!