Hallo zusammen,
ich habe wieder ein Problem. Ich habe ein Frame mit einem Menü. Dieses Menü soll jetzt auf Klicks reagieren. Dazu habe ActionListener eingebaut. Nun it aber das Problem, dass das Programm immer abstürzt (oder Eclipswe will zumindest in die Debug-Ansicht) wenn ich im ActionListener einen
Dialog als Reaktion aufrufen will. Das gleiche Proiblem hatte ich auch, wenn ich anstatt dem Dialog z.B. direkt einen neuen Eintrag in meine Taelle (welche in dem Frame auch liegt) machen möchte.
Ich poste jetzt mal den Code, den ich für relevant halte. Wenn ihr mehr braucht melden.
ActionListener (der prizipiell funktioniert, da er z.B. dsa System.exit(0); ausführt):
Das frame bei NewEntryDialog ist am Anfang der Klasse definiert: private MainFrame frame;
Die Dialog-Klasse:
ich habe wieder ein Problem. Ich habe ein Frame mit einem Menü. Dieses Menü soll jetzt auf Klicks reagieren. Dazu habe ActionListener eingebaut. Nun it aber das Problem, dass das Programm immer abstürzt (oder Eclipswe will zumindest in die Debug-Ansicht) wenn ich im ActionListener einen
Dialog als Reaktion aufrufen will. Das gleiche Proiblem hatte ich auch, wenn ich anstatt dem Dialog z.B. direkt einen neuen Eintrag in meine Taelle (welche in dem Frame auch liegt) machen möchte.
Ich poste jetzt mal den Code, den ich für relevant halte. Wenn ihr mehr braucht melden.
ActionListener (der prizipiell funktioniert, da er z.B. dsa System.exit(0); ausführt):
Das frame bei NewEntryDialog ist am Anfang der Klasse definiert: private MainFrame frame;
Code:
public void actionPerformed(ActionEvent evt)
{
String command = evt.getActionCommand();
if(command.equals("NEW"))
new NewEntryDialog(frame);
else if(command.equals("EXIT"))
System.exit(0);
}
Die Dialog-Klasse:
Code:
public class NewEntryDialog extends JDialog
{
private static final long serialVersionUID = 1L;
public NewEntryDialog(MainFrame frame)
{
super(frame, "Neuen Eitnrag anlegen", false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
JLabel titel = new JLabel("Titel");
this.add(titel);
this.pack();
this.setVisible(true);
}
}