Hi
Ich programmiere an einem Spiel. Es gibt eine Art Startmenü wovon aus sich das eigentliche Spiel starten lässt. Nun möchte ich, dass man während dem Spiel durch drücken irgendeiner Taste wieder ins Menü zurück kommt. Ich habe dazu ein KeyListener eingebaut. Der reagiert aber nicht =(
Kann mir irgendwer weiterhelfen?
Danke im Vorraus =)
Gruß, Flo
Ich programmiere an einem Spiel. Es gibt eine Art Startmenü wovon aus sich das eigentliche Spiel starten lässt. Nun möchte ich, dass man während dem Spiel durch drücken irgendeiner Taste wieder ins Menü zurück kommt. Ich habe dazu ein KeyListener eingebaut. Der reagiert aber nicht =(
Code:
import java.awt.*;
import java.awt.event.*;
/**
*
* Fenster
*
* @version 1.0 vom 20.11.2006
* @author Florian Ferg
*/
public class Fenster extends Frame {
private Robot rob;
private int breite;
private int hoehe;
private Panel menu;
private Spielfeld spl;
private Button start;
private Button exit;
// Ende Variablen
public Fenster() {
super( "GNOP" );
try {
rob = new Robot();
}
catch(AWTException e) {
}
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
breite = (int)d.getWidth();
hoehe = (int)d.getHeight();
setSize(breite, hoehe);
setLayout(null);
menu = new Panel();
menu.setSize(100, 100);
menu.setLocation((breite / 2) - (menu.getWidth() / 2), (hoehe / 2) - (menu.getHeight() / 2));
menu.setLayout(new GridLayout(2, 1, 0, 10));
start = new Button( "Start" );
menu.add(start);
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
startActionPerformed(evt);
}
});
exit = new Button( "Exit" );
menu.add(exit);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
exitActionPerformed();
}
});
add(menu);
addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent evt) {
System.out.println("" + evt.getKeyChar());
goToMenu();
}
});
setResizable(false);
setUndecorated( true );
setBackground( new Color( 25, 25, 112 ) );
setVisible(true);
}
public void goToMenu() {
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
menu.setVisible(true);
}
public void startActionPerformed(ActionEvent evt) {
menu.setVisible(false);
spl = new Spielfeld();
spl.setLocation( ( breite / 2 ) - ( spl.getWidth() / 2 ), ( hoehe / 2 ) - ( spl.getHeight() / 2 ) );
add( spl );
setCursor(Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage(""), new Point(0,0), "invisible"));
addMouseMotionListener( new MouseMotionAdapter() {
public void mouseMoved( MouseEvent evt ) {
if(evt.getX() < spl.getX()) {
rob.mouseMove(spl.getX(), spl.getY());
}
else if(evt.getX() > spl.getX() + spl.getWidth()) {
rob.mouseMove(spl.getX() + spl.getWidth(), spl.getY());
}
else if(evt.getY() < spl.getY() || evt.getY() > spl.getY() + spl.getHeight()) {
rob.mouseMove(evt.getX(), spl.getY());
}
}
});
}
public void exitActionPerformed() {
System.exit(0);
}
}
Kann mir irgendwer weiterhelfen?
Danke im Vorraus =)
Gruß, Flo