Sebastien_teisseire
Messages postés11Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 1 septembre 2005
-
1 sept. 2005 à 15:02
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 2013
-
1 sept. 2005 à 15:26
J'ai donc la classe abstraite suivante:
public abstract class AbstractTest extends JFrame{
protected JPanel pane = new JPanel();
public AbstractTest(String nameBut){
JButton b = new JButton(nameBut);
pane.add(b);
}
}
Et ma sous classe....
public class test extends AbstractTest{
public test(String S){//err:'Constructeur implicite AbstractTest() non defini'
nimp();
}
public static void main(String[] args) {
JFrame frame = new test("boutton");//Err:'Constructeur test(String) non defini'
ExitWindow exit = new ExitWindow();
frame.pack();
frame.setVisible(true);
}
public void nimp(){
JButton c = new JButton("viens de test");
pane.add(c);
setContentPane(pane);
}
}
Question:
Ou est l'erreur?
Comment dois-je declarer le constructeur de ma sous classe sachant que le constructeur de ma super classe contient des parametres?
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 1 sept. 2005 à 15:26
en fait, le probleme, c'est que quand tu cree une sous classe, le
constructeur de la sous classe fait appel par defaut au constructeur de
ta durclasse sans argument. Plus clairement, quand tu ecris ca dans ton
cas :
public test(String S){
nimp();
}
ca equivaut a ca :
public test(String S){
super(); // qui signifie new AbstractTest()
nimp();
}
or tu na pas de AbstractTest() mais un AbstractTest(String)
il faut donc que tu mette ceci et ca devrai marcher