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

Composants Java Discussion :

Problème avec mon JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de aljessy
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 319
    Par défaut Problème avec mon JTable
    Bonjour j'ai crée dans une classe que j'appelle Modif_cl un JTable nommé table_cl dans laquelle je range les informations provenant d'une base de donnée. Mais le problème c'est qu'il me retourne une erreur du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    Voici quelque extrait de ma classe et surtout la ligne qui me renvoie l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    table_cl.setModel(new DefaultTableModel(
                    new Object [(data.size()-1)/Integer.parseInt(data.get(0))][Integer.parseInt(data.get(0))],
                    new String [] {bundle.getString("NUMERO"), bundle.getString("NOM"), bundle.getString("PRENOM"), bundle.getString("ETAT")}
            ));
    data est une arraylist que je définit de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<String> data = new ArrayList<String>(10);
    voici le constructeur de ma classe

    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
    public Modif_cl(JFrame parent, boolean modal){       
            super(parent, modal);
     
            //---
            gui(); 
            this.getContentPane().setBackground(new Couleur().COULEUR_BACKGROUND_FENETRE);
     
            //--- 
            table_cl.getTableHeader().setBackground(new Couleur().COULEUR_BACKGROUND_BLOC);
            table_cl.getTableHeader().setFont(new java.awt.Font("Verdana", 1, 12)); 
            table_cl.getTableHeader().setForeground(new Couleur().COULEUR_TEXTE);
     
            //---
            chargertab();
        }
    voici l'implémentation de la fonction chargertab()
    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
    private void chargertab() {
            //--- 
            try {
                //--- 
                inter =(InterfaceCl)Naming.lookup("rmi://localhost:1099/ServiceServeur");
                data = inter.chargerArray(); 
                chargerTableau(data);
            } 
            catch (NotBoundException exc) {
                Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
            } 
            catch (MalformedURLException exc) {
                Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
            } 
            catch (RemoteException exc) {
                Logger.getLogger(Modif_cl.class.getName()).log(Level.SEVERE, null, exc);
            }
        }
    inter c'est la déclaration de l'interface dans laquelle de déclasse la méthode chargerArray();
    voici l'implémentation de la fonction chargerTableau()
    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
    public void chargerTableau(ArrayList<String> data) {         
            //--- 
            int line = 0; 
            int col = 0; 
            int nombreCol = Integer.parseInt(data.get(0));      
     
            for(int i=1; i<=data.size()-1; i++){
                table_cl.setValueAt(data.get(i), line, col);
                col++;
                if(i%nombreCol == 0) {
                    col = 0; 
                    line++;
                }             
            }
        }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je pense que l'erreur que tu as réalisé est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	public static void main(String[] args) {
    		ArrayList<String> data = new ArrayList<String>(10);
    		data.get(0);
    	};
    Ce qui produit l'erreur suivante :
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    En effet, tu demande le premier élément d'une liste vide.
    Ce qui provoque l'erreur.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre éclairé Avatar de aljessy
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 319
    Par défaut
    data n'est pas vide car il contient des données en provenance de ma base de données

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Je te conseil de vérifier si c'est bien le cas.
    Affiche la taille de ton tableau.
    Vérifie si la requête le remplie ou non.
    Car c'est là que ce trouve l'erreur à mon avis.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Membre éclairé Avatar de aljessy
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 319
    Par défaut
    Je te conseil de vérifier si c'est bien le cas.
    Affiche la taille de ton tableau.
    Vérifie si la requête le remplie ou non.
    Car c'est là que ce trouve l'erreur à mon avis.
    tu avais raison mon tableau était vide.

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

Discussions similaires

  1. Problèmes avec une JTable
    Par Fab916 dans le forum Composants
    Réponses: 4
    Dernier message: 12/01/2006, 14h11
  2. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  3. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  4. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

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