Hallo zusammen,
mich würde interessieren warum bei meiner Subklasse (siehe unten) zuerst "btnLoeschen", anstatt der print im Konstruktor ausgegeben wird. Der print im Konstruktor wird auch erst aufgerufen wenn ich auf einen Button klicke. Müsste der normal nicht direkt beim erzeugen des Objekts aufgerufen werden?
Ich hatte zuerst das Problem, dass ich die Variablen "zeile", "daten" usw. nicht in der actionPerformed Methode zur Verfügung hatte (NullPointException). Ich denke das hängt auch damit zusammen, dass der Konstrutor das "this.zeile = zeile;" etc. erst am Ende macht.
Wo ist mein Denkfehler?
Danke für die Hilfe.
Superklasse: Loeschen
SubKlasse: GliederungsEinheitLoeschen
Ausgabe:
btnLoeschen
Konstruktor
mich würde interessieren warum bei meiner Subklasse (siehe unten) zuerst "btnLoeschen", anstatt der print im Konstruktor ausgegeben wird. Der print im Konstruktor wird auch erst aufgerufen wenn ich auf einen Button klicke. Müsste der normal nicht direkt beim erzeugen des Objekts aufgerufen werden?
Ich hatte zuerst das Problem, dass ich die Variablen "zeile", "daten" usw. nicht in der actionPerformed Methode zur Verfügung hatte (NullPointException). Ich denke das hängt auch damit zusammen, dass der Konstrutor das "this.zeile = zeile;" etc. erst am Ende macht.
Wo ist mein Denkfehler?
Danke für die Hilfe.
Superklasse: Loeschen
Code:
public class Loeschen extends JDialog implements ActionListener
{
private Container c;
private JFrame owner;
private JLabel lblMeldung;
private JPanel pnlMeldung, pnlButtons;
protected JButton btnLoeschen, btnAbbrechen;
private Stplweb stplweb;
public Loeschen(JFrame owner)
{
super(owner, "OrgEinheit löschen", true);
this.owner = owner;
this.setSize(350, 120);
this.setResizable(false);
c = getContentPane();
c.setLayout(new GridLayout(3,1));
lblMeldung = new JLabel("Wollen sie die Organisationseinheit wirklich löschen?");
lblMeldung.setSize(300,20);
lblMeldung.setLocation(20,40);
btnLoeschen = new JButton("OK");
btnLoeschen.setSize(100,20);
btnLoeschen.addActionListener(this);
btnAbbrechen = new JButton("Abbrechen");
btnAbbrechen.setSize(100,20);
btnAbbrechen.addActionListener(this);
pnlButtons = new JPanel();
pnlButtons.setLocation(70,80);
pnlButtons.add(btnLoeschen);
pnlButtons.add(btnAbbrechen);
c.add(lblMeldung);
c.add(pnlButtons);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0)
{
//
}
}
SubKlasse: GliederungsEinheitLoeschen
Code:
public class GliederungsEinheitLoeschen extends Loeschen
{
private GliederungsplanModel model;
private int zeile;
private Vector daten;
public GliederungsEinheitLoeschen(JFrame owner, GliederungsplanModel model, int zeile, Vector daten)
{
super(owner);
this.model = model;
this.zeile = zeile;
this.daten = daten;
System.out.println("Konstruktor");
}
public void actionPerformed(ActionEvent arg0)
{
Object aktion = arg0.getSource();
if (aktion == btnLoeschen)
{
System.out.println("btnLoeschen");
this.setVisible(false);
this.dispose();
}
if (aktion == btnAbbrechen)
{
this.setVisible(false);
this.dispose();
}
}
}
Ausgabe:
btnLoeschen
Konstruktor