Hi,
ich habe momentan ein sehr misteriöses Problem.
Ich hab einen Key- und einen ButtonListener, welche beide eigentlich korrekt arbeiten.
Ich kann mein Spiel über die Taste S oder über den Button "starten" aufrufen, das Spiel ist dann noch pausiert.
Mit P kann ich das Spiel dann fortsetzen/beginnen.
Mit dem KeyListener funktioniert es ohne Probleme aber in Kombination mit den Button Listener tauchen dann einige Probleme auf.
Die Kombination S und P funktioniert ohne Probleme aber wenn ich den "starten" Button klicke und dann P funktioniert es nicht.
Sobald ich den Button drücke reagiert mein KeyListener nicht mehr auf irgendwelche Eingaben.
Ich hab nicht wirklich keine Idee wo da der Fehler ist.
Meine Vermutung wäre ja, dass es was mit this.setFocusable(true); zutun hat.
Beim Klick wird der Fokus irgendwie verändert wird oder so, aber KA.
mfg
ich habe momentan ein sehr misteriöses Problem.
Ich hab einen Key- und einen ButtonListener, welche beide eigentlich korrekt arbeiten.
Ich kann mein Spiel über die Taste S oder über den Button "starten" aufrufen, das Spiel ist dann noch pausiert.
Mit P kann ich das Spiel dann fortsetzen/beginnen.
Mit dem KeyListener funktioniert es ohne Probleme aber in Kombination mit den Button Listener tauchen dann einige Probleme auf.
Die Kombination S und P funktioniert ohne Probleme aber wenn ich den "starten" Button klicke und dann P funktioniert es nicht.
Sobald ich den Button drücke reagiert mein KeyListener nicht mehr auf irgendwelche Eingaben.
Java:
Ausschnitt aus Code:
//Aus dem SpielPanel
startButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e)
{game.start(); System.out.println("Spiel aufgerufen"); }});
...
this.addKeyListener(keyboardListener);
this.setFocusable(true);
..
//Zum starten und pausieren (innere Klasse)
class KeyboardListener implements KeyListener
{
if(!game.isTerminated())
{
if(event.getKeyCode() == KeyEvent.VK_P)
{
if(!game.isRunning())
{
game.setRunning(true);
}
else
{
game.setRunning(false);
}
}
}
if(game.isTerminated())
{
if(event.getKeyCode() == KeyEvent.VK_S)
{
game.start();
}
}
}
}
Ich hab nicht wirklich keine Idee wo da der Fehler ist.
Meine Vermutung wäre ja, dass es was mit this.setFocusable(true); zutun hat.
Beim Klick wird der Fokus irgendwie verändert wird oder so, aber KA.
mfg