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

avec Java Discussion :

Besoin d'explication pour ce code


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 51
    Points : 32
    Points
    32
    Par défaut Besoin d'explication pour ce code
    Bonjour tout le monde,

    Je reprend un programme codé en java, et ya pas d'autres mots : c'est l'orgie.
    Zéro commentaire, et un style de programmation.... disons.... "compliqué".

    J'ai une ligne que je ne comprend pas là, c'est pourquoi j'aurai besoin de vos explications.
    La voici :
    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
     
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
     
                },
                new String [] {
                    "Article", "Dimension", "Couleur", "Quantité", "Observation"
                }
            ) {
                Class[] types = new Class [] {
                    java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
                };
     
                public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
            });
    Elle a pour effet, d'apres moi, d'afficher un petit tableau.
    mais le coup de class[]types, là , je bloque...

    Merci a vous !

  2. #2
    Membre régulier Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Points : 122
    Points
    122
    Par défaut
    Ces quelques lignes servent à affecter un nouveau DefaultTableModel à l'objet de type JTable : jTable1.
    ça permet en effet d'afficher un tableau en SWING.
    Quant à la ligne dont tu parles ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Class[] types = new Class [] {
                    java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
                };
    elle permet de définir les types de tes colonnes ( Ici ce sont toutes des colonnes de type String )

    Si ça peut t'aider je suis quasi certain que ce code a été construit avec netbeans mais peut être que je me trompe et que cette façon d'initialiser les DefaultTableModel est courante.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ca va, ca reste lisibile, mais faut bien connaitre java, je te donne un coup de main pour décoder ^^

    premier niveau:

    deuxième niveau, ca se corse, on décode XXX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new javax.swing.table.DefaultTableModel(....,....) {YYYYY}
    La faut comprendre ^^. Ca crée un nouveau DefaultTableModel en lui passant des paramètres de construction, mais, au passage, ce décide aussi que ce en ferait bien une sous classe avec un comportement à elle. On appelle çà en java une anonymous inner class. Les ..... sont tes deux premiers arrays (objet et string). Ensuite, les reste entre les { } c'est le code de l'anonymous inner class. On y trouve:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Class[] types = new Class [] {
                    java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
                };
    La définition d'un champ "type" et, finalement, une méthode "getColumnClass".

    Ce genre de code est assez courant dans la gestion évènementielle, ou t'as pas envie de te casser le cul avec des classes différentes pour chaque évènement et où tu fait des trucs du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    bouton.addActionListener(new ActionListener(){
     
       public void actionPerformed(Event e){
          ....
       }
    })

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 51
    Points : 32
    Points
    32
    Par défaut
    Et ben merci a tous les deux pour vos explications !
    En effet c'était du netbeans, mais j'aurai préféré la solution des actionlistenner, ça m'aurai été plus lisible...

    C'est plus clair, merci .

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

Discussions similaires

  1. Besoin d'explications pour Hough
    Par zolotaya dans le forum Traitement du signal
    Réponses: 14
    Dernier message: 25/04/2013, 20h17
  2. besoin petite explication pour comprendre ce code
    Par beta1204 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/06/2009, 19h47
  3. [FTP] besoin d'aide pour source code
    Par planete-venus dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2007, 15h01
  4. besoin d'explications sur un code
    Par NAHIAG dans le forum C
    Réponses: 8
    Dernier message: 28/05/2006, 12h37
  5. Besoin d'explication pour l'impression
    Par mygwel dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 25/05/2006, 10h49

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