J'ai un petit problème avec l'héritage en java. Je prefère la pratique donc voilà un exemple.
classe mère principale
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public class Modele extends JFrame {
   protected ArrayList quitListeners;
 
   public void addQuitListener(QuitListener listener) {
        quitListeners.add(listener);
    }
 
    public void removeQuitListener(QuitListener listener) {
        quitListeners.remove(listener);
    }
}
classe héritant de la classe mère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
public class HeritModele  extends Modele {
}
classe héritant de la deuxième classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public class ViewSaisieReglement{
    private HeritModele parent;
 
    public View (HeritModele parent) {
        this.parent = parent;
        this.parent.addQuitListener(this);
    }
}
classe où se trouve le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class TestReg extends HeritModele {
	public static void main(String[] args)
	{
		new TestReg();
	}
 
	public TestReg()
	{
		setTitle("Window");
		setVisible(true);
		buildNewSalePane();
	}
	private void buildNewSalePane() {
        ViewSaisieReglement sale = new ViewSaisieReglement(this);
	switchManager(sale.buildPanel());
    }
}
erreur
C:\Java\ViewSaisieReglement.java:81: cannot resolve symbol
symbol : method addQuitListener (ViewSaisieReglement)
location: HeritModele
this.parent.addQuitListener(this);
^

Je ne comprends pas pourquoi la méthode addQuitListener de Modele n'est pas vu dans HeritModele