Hallo, ich habe einen ActionListener definiert, der aber keine Wirkung hat...
Hier der Code:
Was habe ich falsch gemacht?
Hier der Code:
Java:
package exe;
public class Exe {
public static void main(String[] args){
new frame.Frame();
}
}
Java:
package frame;
import java.awt.BorderLayout;
import javax.swing.JFrame;
public class Frame extends JFrame{
public static panels.Menu menu = new panels.Menu();
public static panels.Game game = new panels.Game();
public static listeners.ActionL actionlis = new listeners.ActionL();
public Frame(){
build();
}
private void build(){
add(menu, BorderLayout.NORTH);
add(game, BorderLayout.CENTER);
setTitle("2D");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
}
Java:
package panels;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Menu extends JMenuBar{
private JMenu data = new JMenu("Optionen");
private JMenuItem newgame = new JMenuItem("Neu");
private JMenuItem loadgame = new JMenuItem("Laden");
private JMenuItem close = new JMenuItem("Beenden");
public Menu(){
addListeners();
build();
}
private void build(){
add(data);
data.add(newgame);
data.add(loadgame);
data.addSeparator();
data.add(close);
}
private void addListeners(){
close.addActionListener(frame.Frame.actionlis);
}
public JMenuItem getItemClose(){
return close;
}
}
Java:
package listeners;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionL implements ActionListener{
public ActionL(){}
public void actionPerformed(ActionEvent e){
Object obj = e.getSource();
if(obj.equals(frame.Frame.menu.getItemClose())){
System.exit(0);
}
}
}
Was habe ich falsch gemacht?