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

 Java Discussion :

Augmentation des colonnes de tableau


Sujet :

Java

  1. #21
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par nir63 Voir le message
    mais j'ai encore un problème au niveau d'affichage, je veux que les lignes doit être constante sa veux dire qu'il ne change pas, il doit etre visible,
    Que veux tu dire par "lignes constantes" ? Tu parles de la taille des colonnes ?

    Si tu veux que les colonnes ne se redimensionnent pas à chaque ajout, tu peux désactiver le redimensionnement automatique par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    Si tu veux que les utilisateurs ne puisse pas changer la taille des colonnes, il va falloir que tu créés tes colonnes "à la main", quand tu ajoutes une colonne.

    Premièrement, il faut désactiver la création automatique par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.setAutoCreateColumnsFromModel(false);
    Ensuite, il te faudra passer l'instance de JTable à la méthode setColumnNumber, puis à chaque fois que tu ajoutes une colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tableModel.addColumn("Column "+(i+1));
    int width=150; // exemple de largeur de colonne
    TableColumn tableColumn = new TableColumn(i,width);
    tableColumn.setResizable(false); // pour que l'utilisateur ne puisse pas changer la taille
    table.addColumn(tableColumn);
    Si tu veux que les colonnes ne puissent pas être déplacées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.getTableHeader().setReorderingAllowed(false);


    Citation Envoyé par nir63 Voir le message
    et lorsque j'ai voulu écrire ce code j'ai trouvé un problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final JTable tableau = new JTable(donnees,tableModel);
    Normal, ce constructeur n'existe pas ! Qu'est-ce que tu cherches à faire ?

    Citation Envoyé par nir63 Voir le message
    je veux que le premier colonne doit etre inchangée pour les donnée après je peux ajouter les colonne avec un Jcombox
    Tu veux créer une première colonne fixe, dès le départ, qui ne dépend pas du nombre qu'il y a dans la combo, c'est ça ?

    Il te faut initialiser le modèle avec les données de la première colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int nbLignes = 3; // exemple de nombres de lignes initiales
    Object[][] data = new Object[nbLignes][1]; 
    for(int i=0; i<nbLignes; i++) {
        data[i][0]=d[i];
    }
    final DefaultTableModel tableModel = new DefaultTableModel(
        data,
        new Object[]{"Column 1"});
    Il te faudra biensûr adapter la combo en conséquence.

    Et enlever le bout de code suivant qui ne sert plus à rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ( oldNumber==0 && tableModel.getRowCount()==0 ) {
    						String[][] donnees = {{"D(i)"," "," "," "," "," "," "}};
    							tableModel.addRow(new Object[donnees]);
     
    					}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  2. #22
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    Merciii pour tout ces réponses.

    oui, Je veux créer une première colonne fixe, qui ne change pas, qui ne dépend pas du nombre qu'il y a dans la combo, et sachant que le combo doit commencer par "0".

    mais lorsque j'ai modifié le code j'ai trouvé des Error

    svp, on peut fixer ça dans une seule fois.

    voila l'error.

    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    d cannot be resolved
    data cannot be resolved
    Type mismatch: cannot convert from String[][] to int


    pour le code

    sachant que j'ai déja declarer donnees. je trouve un error.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( oldNumber==0 && tableModel.getRowCount()==0 ) {
    						String[][] donnees = {{"D(i)"," "," "," "," "," "," "}};
    							tableModel.addRow(new Object[donnees]);
    }
    autre error
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final DefaultTableModel tableModel = new DefaultTableModel(data, new Object[]{"Column 1"});
    j'arrive pas à comprendre le fonction de data.

    et pour d[i]???? c'est quoi exactement

    mercii encore pour tes réponses et ton présence.
    mercii

  3. #23
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    svp, quelqu'un qui peut m'aider

  4. #24
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    Bonjour svp quelqu'un peut finir avec fois cette partie, j'arrive pas à trouvé une bonne résultat, j'étais bloqué dans toute cette periode

Discussions similaires

  1. Accéder à des lignes ou des colonnes de tableau ?
    Par Loïc B. dans le forum Général Python
    Réponses: 4
    Dernier message: 21/01/2010, 12h52
  2. [Swing][JTable]Tailles des colonnes du tableau
    Par LordBlaize dans le forum Composants
    Réponses: 6
    Dernier message: 20/02/2006, 17h46
  3. En-tête d'un des colonnes d'un tableau
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 06/05/2004, 17h13

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