IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Interrogation: Plusieurs methode pour faire la meme chose.


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 63
    Points : 26
    Points
    26
    Par défaut Interrogation: Plusieurs methode pour faire la meme chose.
    Bonsoir, J'aurais une question a propos de la creation d'un composant ou d'une fenetre.

    une facon:

    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 static void main(String[] args)
    {
    	fenetrePrincipale fenetre = new fenetrePrincipale();
    	fenetre.setVisible ( true );
    }// main
    class fenetrePrincipale extends JFrame
    {
    	seTitle("titre");
    	Panneau pan = new Panneau(this);
    	add(pan);
    }
    class Panneau extends JPanel
    {
    	public Panneau(Jframe fen)
    	{
    		super();
    	}
    }
    une autre :

    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 static void main(String[] args)
    {
    	fenetrePrincipale fenetre = new fenetrePrincipale();
    	fenetre.setVisible ( true );
    }// main
    class fenetrePrincipale extends JFrame
    {
    	seTitle("titre");
    	Panneau pan = new Panneau(this);
    }
    class Panneau extends JPanel
    {
    	public Panneau(Jframe fen)
    	{
    		super(); // sans le super composerais une 4 eme facon
    		fen.add(this);
    	}
    }
    une troisieme:

    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
    19
    public static void main(String[] args)
    {
    	fenetrePrincipale fenetre = new fenetrePrincipale();
    	fenetre.setVisible ( true );
    }// main
    class fenetrePrincipale extends JFrame
    {
    	seTitle("titre");
    	Panneau pan = new Panneau(this);
    	add(pan);
    }
    class Panneau extends JPanel
    {
    	public Panneau(Jframe fen)
    	{
    		JPanel panno = new JPanel();
    		fen.add(panno);
    	}
    }
    Je souhaiterais savoir quelles sont les differences des points de vues performances,rigueur,fonctionnalitées, sécurités,etc... entre ces 4 facons de faire ?

    Le super(); n'est pas utile, pk ?

    Merci d'avance pour vos réponses. ...

    NB: a peu de chose pret chacune des methodes fonctionnent.

  2. #2
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    d'une manière générale, passer le "parent" à une classe fille en parametre de constructeur, c'est pas glop, surtout quand tu as une fonction getParent() qui el fait. J'opte souvent pour la création dans la classe mere et du classique add(classeFille); ...

    apres, niveau performance, ya pas une énorme différence, mise à part une référence en plus en mémoire pendant la construction...

    bien à toi

    mavina

    edit :pour le super, c'est pas obligatoire si il y a un constructeur par défaut il se fait tout seul il me semble...
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 63
    Points : 26
    Points
    26
    Par défaut
    merci pour ta reponse...

    personne d'autre? (up)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 84
    Points
    84
    Par défaut
    et pourquoi pas :
    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
    19
    20
    21
    22
    23
    24
     
     
    public static void main(String[] args)
    {
    	new fenetrePrincipale(new Panneau());
    }// main
    class fenetrePrincipale extends JFrame
    {
     
        fenetrePrincipale(Panneau pan){
    	this.setSize(longueur,largeur); //taille que tu veux
            this.setTitle("titre");
    	this.add(pan);
            this.setVisible(true);
        }
    }
    class Panneau extends JPanel
    {
    	public Panneau()
    	{
    		super();
     
    	}
    }
    C'est bien la même chose non?
    A moins que tu preferes mettre en entrée de ton panneau une frame... c'est à toi de voir

    ++

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mortalius
    une facon:
    A quoi te sert la classe Panneau puisque tu ne surcharge aucune méthode de JPanel ???

    Citation Envoyé par mortalius
    une autre :
    Ta classe Panneau est un peu inutile également, puisque c'est elle qui se place dans le parent... En général on fait plutôt l'inverse : c'est le parent qui décide de la taille de ses composants fils. Cela fait que ton composant fils est plus indépendant et pourra être utilisé dans un autre contexte...

    Citation Envoyé par mortalius
    une troisieme:
    Ceci est incorrect : tu crée deux JPanel (celui créer par l'appel au constructeur de Panneau + celui créer à l'intérieur de ce constructeur).


    Citation Envoyé par mortalius
    Le super(); n'est pas utile, pk ?

    Le super est implicite. Si tu ne le met pas il sera rajouté par le compilateur...



    a++

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 63
    Points : 26
    Points
    26
    Par défaut
    Merci bien ...

    Donc si les 3 methodes sont pas 100% correct, quelle est la bonne facon de faire ?merci

  7. #7
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    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
    class MaClasse extends JFrame
    {
      JPanel monPanel;
      MaClasse()
      {
        super("coucou");
        monPanel=new JPanel();
        add(monPanel);
        setVisible(true);
      }
      public static void main(String []args)
      {
        MaClasse m=new MaClasse();
      }
    }
    voila voilaaa

    mavina
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 63
    Points : 26
    Points
    26
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cherche un projet de plusieurs WS pour faire un choregraphie
    Par lady_alg dans le forum Services Web
    Réponses: 4
    Dernier message: 24/05/2008, 00h05
  2. Réponses: 6
    Dernier message: 30/07/2007, 13h10
  3. Réponses: 1
    Dernier message: 30/07/2007, 13h04
  4. [VB6] Methode pour faire un pop up style msn
    Par Djaiffe dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/06/2006, 18h29
  5. D'autres idées pour faire la même chose ?
    Par Gromitou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2006, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo