Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours JAVA JFrame

Sujet résolu
    23 avril 2015 à 18:37:43

    Bonjour à tous, j'ai décidé il y a peu de me remettre au java, vu que ça fait 1 an que j'en ai pas fais, je suis revenu sur le tuto mais là où avant je n'avais pas de problème, là je coince dès le départ alors que j'y arrivais très bien l'année dernière et forcement impossible de retrouver mes anciens projets pour voir où ça coince.

    Voici le code du cours tel que je l'ai compris

    import javax.swing.JFrame;
    
    
    public class Exercice {
    
    	public class Ecran extends JFrame{
    		public Fenetre(){
    		    this.setTitle("Exercice");
    		    this.setSize(500, 300);
    		    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		    this.setLocationRelativeTo(null);
    		    this.setVisible(true);
    	       }
    	}
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    			Ecran test = new Ecran();
    	}
    }
    
    	

    Et il me met ce message que je ne comprend pas

    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        No enclosing instance of type Exercice is accessible. Must qualify the allocation with an enclosing instance of type Exercice (e.g. x.new A() where x is an instance of Exercice).

    Quand j'ouvre une JFrame directement dans le Main y'a pas de problème mais dès que je l'hérite y'a plus rien

    Si quelqu'un peux m'expliquer le truc que je comprend pas

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 avril 2015 à 20:08:31

      dans ton main, il faut faire new Exercice().new Ecran(); (c'est un peu spécial, je n'y avais jamais été confronté).

      En espérant t'avoir aidé.

      • Partager sur Facebook
      • Partager sur Twitter
        23 avril 2015 à 21:04:27

        Merci pour la réponse, ça marche ^^
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 avril 2015 à 21:59:01

          fais passer le sujet en résolu si tu n'as plus de problemes.
          • Partager sur Facebook
          • Partager sur Twitter
            24 avril 2015 à 9:01:56

            Salut.

            Je sait que le sujet est résolu, mais je n'ai pas vraiment compris l'élément de réponse qui a été fourni par CodeCampus.

            Pourrais-tu, CodeCampus, expliquer la nécessiter d'appeler 2 constructeurs à la suite, stp ? (purement dans un but informatif)

            -
            Edité par chinto 24 avril 2015 à 9:02:40

            • Partager sur Facebook
            • Partager sur Twitter
            Mes amis, la patience est un arbre aux racines amères, mais aux fruits si doux...
            Anonyme
              24 avril 2015 à 11:24:29

              le problème vient que la méthode main appelle le constructeur d'une classe interne a laquelle elle appartient (main) et comme lorsque l'on met le main dans la classe on doit appeler le constructeur, on doit appeler le constructeur de la classe qui contient puis le constructeur de la classe interne.

              M'as tu compris ? 

              • Partager sur Facebook
              • Partager sur Twitter
                24 avril 2015 à 15:21:09

                De ce que j'ai compris, la déclaration de la classe Ecran se comporte comme un attribut de la classe Exercice, et donc tant que l'on n'a pas instancié un objet de la classe Exercice, on ne peut pas avoir accès à la classe Ecran. Et naturellement, main étant une méthode statique, elle n'est donc pas rattachée à une instance de la classe Exercice, d'où la nécessite d'instancier Exercice pour ensuite pouvoir instancier Ecran. C'est ça ?

                Excuse moi si j'ai reformulé, mais sur la première lecture je me suis un perdu dans ton explication... :(

                • Partager sur Facebook
                • Partager sur Twitter
                Mes amis, la patience est un arbre aux racines amères, mais aux fruits si doux...
                Anonyme
                  24 avril 2015 à 20:13:01

                  C'est exactement ca ! je m'excuse pour la formulation... douteuse :) (même moi en me relisant a l'instant, je me suis dis : "c'est français ça ?").
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 mai 2015 à 1:30:48

                    Bonsoir,

                    J'aimerais tout simplement savoir comment à partir d'une applet en java si l'on clique sur un bouton, ouvrir une nouvelle applet.


                    Merci pour aide 

                    • Partager sur Facebook
                    • Partager sur Twitter
                    H.I

                    Cours JAVA JFrame

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown