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
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		