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 :

Ajout de donnée dans un Abstract Modele


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut Ajout de donnée dans un Abstract Modele
    Bonjour,
    Voila lorsque je veux ajouter un utilisateur avec la methode mettreAjourTable, j'ai une erreur.
    Il me dit que ma liste d'utilisateur est null (java.lang.NullPointerException).
    Et je ne comprends ou est ma faute.
    voici le code
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    package panel;
     
    import java.awt.*;
    import java.util.ArrayList;
    import javax.swing.*;
     
    import modele.ModeleTableUser;
     
    import org.jdesktop.swingx.*;
     
    import classe.*;
     
    public class PageGestUser extends JXPanel {
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	private JXPanel pageGestUsrHaut;
    	private JLabel labelPageGestUsrHaut;
    	private ArrayList<Utilisateur> listUtil;
    	private ListUsr listeUsr; 
    	private JTable tablePoints;
    	private JScrollPane listeDeroulante;	
     
    	public PageGestUser(ArrayList<Utilisateur> listUtil){
    		this.listUtil=listUtil;
    		this.setLayout(new BorderLayout());
    		this.add(getPageGestUsrHaut(), BorderLayout.NORTH);
    		this.add(getListeDeroulante(), BorderLayout.CENTER);
    		mettreAjourTable(new Utilisateur("test4", "test") );
     
     
     
    	}
    	public JXPanel getPageGestUsrHaut(){
    		if (pageGestUsrHaut == null){
    			pageGestUsrHaut = new JXPanel();
    		}
    		listeUsr= new ListUsr();
    		listeUsr.ajouterUsr(new Utilisateur("test1", "test1"));
    		listeUsr.ajoutList(listUtil);
    		pageGestUsrHaut.setLayout(new FlowLayout());
    		pageGestUsrHaut.setPreferredSize(new Dimension(300,55));
    		pageGestUsrHaut.add(getLabelPageGestUsrHaut());
    		return pageGestUsrHaut;
    	}
    	public JLabel getLabelPageGestUsrHaut(){
    		if (labelPageGestUsrHaut==null){
    			labelPageGestUsrHaut = new JLabel("Gestion des utilisateurs");
    		}
    		Font font = new Font("Verdana", Font.BOLD, 15);
    		labelPageGestUsrHaut.setFont(font);
    		labelPageGestUsrHaut.setHorizontalAlignment(SwingConstants.CENTER);
    		return labelPageGestUsrHaut;
    	}
     
    	public JScrollPane getListeDeroulante() {
    		if(listeDeroulante == null){
    			listeDeroulante = new JScrollPane(this.getTableUser());
    		}
    		return listeDeroulante;
    	}
    	public ListUsr getListeUser() {
    		return listeUsr;
    	}
    	public JTable getTableUser() {
    		if(tablePoints == null){
    			tablePoints = new JTable (new ModeleTableUser(listeUsr));
    			tablePoints.setFillsViewportHeight(true);
    			//TableRowSorter<TableModel> sorter = new TableRowSorter <TableModel>(tablePoints.getModel());
    			//tablePoints.setRowSorter(sorter);
    			//sorter.setComparator(0,new ComparatorX());
    			//sorter.setComparator(1,new ComparatorX());
    		}
    		return tablePoints;
    	}
    	public void mettreAjourTable(Utilisateur u){
    		listeUsr.ajouterUsr(u);
    		((ModeleTableUser)getTableUser().getModel()).mettreAjourDonnees();
    		getListeDeroulante().revalidate();
    		getListeDeroulante().repaint();
     
    	}
    }
    Ensuite mon modele
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    package modele;
     
    import javax.swing.table.*;
     
    import classe.*;
     
    public class ModeleTableUser  extends AbstractTableModel{
     
     
    	private static final long serialVersionUID = 1L;
    	private Object[] nomColonnes;
    	private Object[][] donnees;
    	private ListUsr listeUsr; 
     
    	public ModeleTableUser(ListUsr listeUsr){
    		donnees = listeUsr.recupererDonnees();
    		nomColonnes = ListUsr.recupererNomsColonnes();
    	}
    	public int getColumnCount(){
    		return nomColonnes.length;
    	}
    	public int getRowCount(){
    		return donnees.length;
    	}
    	public Object getValueAt(int row , int col){
    		return donnees[row][col];
    	}
    	public String getColumnName(int col){
    		return (String) nomColonnes[col];
    	}
    	public void mettreAjourDonnees(){
    		//listeUsr.affList();
    		donnees= listeUsr.recupererDonnees();
    	}
     
    }
    D'avance merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Tu n'as jamais initialisé le champ listeUsr.
    N'aurais-tu pas oublié une ligne dans ton constructeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.listeUsr = listeUsr;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Merci beaucoup
    Effectivement c'était ca.
    Comme quoi un avis extérieur peut-être plus utile que chercher pendant 1h a essayer des méthodes qui ne marche pas.

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

Discussions similaires

  1. Ajout de données dans une requête
    Par remi59 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/06/2006, 10h30
  2. Réponses: 9
    Dernier message: 01/06/2006, 12h25
  3. evenement à l'ajout de données dans un select
    Par mohican13 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2006, 15h10
  4. Réponses: 8
    Dernier message: 24/02/2006, 09h59
  5. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 15h34

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