Hey,
ich habe ein kleines Programm geschrieben, bei dem am Anfang ein Menu eingeblendet wird:
[Java]
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class HMenu extends JPanel{
public HMenu(ActionListener al)
{
setLayout(new GridLayout(4, 1));
//Button Start
JButton Start = new JButton("Start");
Start.addActionListener(al);
//Button Optionen
JButton Options = new JButton("Optionen");
Options.addActionListener(al);
//Button Statistiken
JButton Stats = new JButton("Statistiken");
Stats.addActionListener(al);
//Button Exit
JButton Exit = new JButton("Beenden");
Exit.addActionListener(al);
this.add(Start);
this.add(Options);
this.add(Stats);
this.add(Exit);
}
}
[/Java]
[Java]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GamePanel extends JPanel implements Runnable, KeyListener, MouseListener, MouseMotionListener, ActionListener{
Thread th;
HMenu hm;
public GamePanel()
{
this.setPreferredSize(new Dimension(width, height));
this.setLayout(new GridLayout(1,1));
this.addKeyListener(this);
hm = new HMenu(this);
this.add(hm);
th = new Thread(this);
th.start();
}
[/Java]
Das funktioniert soweit auch. Wenn ich jetzt aber in meiner actionPerformed - Methode beim Klick auf Start alles wieder entferne:
[Java]
public void actionPerformed(ActionEvent arg0) {
if (arg0.getActionCommand().compareTo("Start") == 0)
{
System.out.println("Start");
this.remove(hm);
}
}
[/Java]
dann funktioniert mein Key-Listener nicht mehr, der MouseMotionListener aber schon noch:
[Java]
public void mouseMoved(MouseEvent arg0)
{
System.out.println("B");
}
public void keyPressed(KeyEvent arg0)
{
System.out.println("A");
}
[/Java]
Der KeyListener hatte außerdem früher auch schon funktioniert, seit ich das Menü eingabut habe, tut er es aber nicht mehr :noe:
Die Programmteile sind natürlich gekürzt, allerdings denke ich, dass ich euch alle relevanten Informationen gegeben habe.
LG, Solor
ich habe ein kleines Programm geschrieben, bei dem am Anfang ein Menu eingeblendet wird:
[Java]
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class HMenu extends JPanel{
public HMenu(ActionListener al)
{
setLayout(new GridLayout(4, 1));
//Button Start
JButton Start = new JButton("Start");
Start.addActionListener(al);
//Button Optionen
JButton Options = new JButton("Optionen");
Options.addActionListener(al);
//Button Statistiken
JButton Stats = new JButton("Statistiken");
Stats.addActionListener(al);
//Button Exit
JButton Exit = new JButton("Beenden");
Exit.addActionListener(al);
this.add(Start);
this.add(Options);
this.add(Stats);
this.add(Exit);
}
}
[/Java]
[Java]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GamePanel extends JPanel implements Runnable, KeyListener, MouseListener, MouseMotionListener, ActionListener{
Thread th;
HMenu hm;
public GamePanel()
{
this.setPreferredSize(new Dimension(width, height));
this.setLayout(new GridLayout(1,1));
this.addKeyListener(this);
hm = new HMenu(this);
this.add(hm);
th = new Thread(this);
th.start();
}
[/Java]
Das funktioniert soweit auch. Wenn ich jetzt aber in meiner actionPerformed - Methode beim Klick auf Start alles wieder entferne:
[Java]
public void actionPerformed(ActionEvent arg0) {
if (arg0.getActionCommand().compareTo("Start") == 0)
{
System.out.println("Start");
this.remove(hm);
}
}
[/Java]
dann funktioniert mein Key-Listener nicht mehr, der MouseMotionListener aber schon noch:
[Java]
public void mouseMoved(MouseEvent arg0)
{
System.out.println("B");
}
public void keyPressed(KeyEvent arg0)
{
System.out.println("A");
}
[/Java]
Der KeyListener hatte außerdem früher auch schon funktioniert, seit ich das Menü eingabut habe, tut er es aber nicht mehr :noe:
Die Programmteile sind natürlich gekürzt, allerdings denke ich, dass ich euch alle relevanten Informationen gegeben habe.
LG, Solor
Zuletzt bearbeitet: