Ich weiß das Thema ist hier schon sehr oft aufgetaucht. Aber ich habe wohl bislang ein großen logischen Fehler begangen auf den man mich nach einer Klausur aufmerksam gemacht hat. Verstanden habe ich die richtige Alternative allerdings immer noch nicht.
Meine bisherige Vorgehensweise mit einem ActionListener: (Ausgehend von einer MenüBar)
Ich hoffe mir kann jemand weiter helfen das Problem zu verstehen waum man es so nicht macht und wie richtig.
Meine bisherige Vorgehensweise mit einem ActionListener: (Ausgehend von einer MenüBar)
Code:
private Action handler;
private JMenuBar menuBar;
...
menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
...
JMenu fileMenu = new JMenu("Datei");
menuBar.add(fileMenu);
...
handler = new Action("Neues Spiel");
fileMenu.add(handler);
handler = new Action("Beenden");
fileMenu.add(handler);
...
class Action extends AbstractAction {
public Action(String text) {
super(text);
}
public void actionPerformed(ActionEvent e) {
if ( getValue(NAME).equals("Neues Spiel")) {
// Starte neues Spiel
}
if ( getValue(NAME).equals("Beenden") ) {
// Beende Spiel
}
}
Ich hoffe mir kann jemand weiter helfen das Problem zu verstehen waum man es so nicht macht und wie richtig.