Hi,
würde mein Programm gerne von Anfang an sauber aufbauen. D.h. keine 1000-Zeilen-Klassen und keine ActionListener als intere Klassen.
Hier mal ein simples Beispiel und verschiedene Implementierungsmöglichkeiten;
1. Möglichkeit
2. Möglichkeit
3. Möglichkeit
Was stellt ihr mit den (Action)Listenern an? Auslagern in eine extra Datei und aufufende Datei per Konstruktor übergeben?
würde mein Programm gerne von Anfang an sauber aufbauen. D.h. keine 1000-Zeilen-Klassen und keine ActionListener als intere Klassen.
Hier mal ein simples Beispiel und verschiedene Implementierungsmöglichkeiten;
1. Möglichkeit
Code:
public class FileMenu extends JMenu implements ActionListener{
private JMenuItem exit;
public FileMenu(){
this.setText("File");
exit = new JMenuItem("Exit");
exit.setActionCommand("exit");
exit.addActionListener(this);
this.add(exit);
}
public void actionPerformed(java.awt.event.ActionEvent e){
if(e.getActionCommand().equalsIgnoreCase("exit")){
System.exit(0);
}
}
}
2. Möglichkeit
Code:
public class FileMenu extends JMenu{
private JMenuItem exit;
public FileMenu(){
this.setText("File");
exit = new JMenuItem("Exit");
exit.setActionCommand("exit");
exit.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e){
if(e.getActionCommand().equalsIgnoreCase("exit")){
System.exit(0);
}
}
});
this.add(exit);
}
}
3. Möglichkeit
Code:
public class FileMenu extends JMenu{
private JMenuItem exit;
public FileMenu(){
this.setText("File");
exit = new JMenuItem("Exit");
exit.setActionCommand("exit");
exit.addActionListener(new MyActionListener());
this.add(exit);
}
}
class MyActionListener implements ActionListener{
public void actionPerformed(java.awt.event.ActionEvent e){
if(e.getActionCommand().equalsIgnoreCase("exit")){
System.exit(0);
}
}
}
Was stellt ihr mit den (Action)Listenern an? Auslagern in eine extra Datei und aufufende Datei per Konstruktor übergeben?