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 :

[JTABLE][CHECKBOX] modifier la valeur de la case à cocher


Sujet :

Composants Java

  1. #1
    Membre régulier Avatar de zozolh2
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2003
    Messages : 128
    Points : 106
    Points
    106
    Par défaut [JTABLE][CHECKBOX] modifier la valeur de la case à cocher
    Bonjour,

    j'ai une JTABLE dont chaque ligne contient une checkbox.
    chaque ligne est construite grace à des données issues d'une requete.
    je construit donc la table à partir des données.
    Mais j'ai un pb pour la checkbox.
    je n'arrive pas a mettre coché ou non en fonction de ce que je récupère dans la requete.

    par défaut la case apparait décoché...

    comment puis-je faire? quelle est la méthode?
    merci


    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
    86
    87
    88
    89
    90
    	/**
             * permet de contruire une feuille du classeur pour un mois
             * @param mois
             * @param annee
             * @param compte
             * @param tableauPanel
             * @return void
             */
    	public void construireMois(int mois,int annee, Compte compte, Tableau tableauPanel)
    	{
    		//initialisation des donnees des mois du tableau
    		Vector vMois = new Vector();
    		LigneCompteCtrl lcc = new LigneCompteCtrl();
    		vMois = lcc.getLignes(annee,mois,compte.getNumeroCompte(),compte.getNomCompte());
    		MaTableModel modelModif= (MaTableModel) tableauPanel.getTable().getModel();
     
     
    		//vider les anciens JTable
    	    while (modelModif.getRowCount()!=0)
    	    { 
    	        modelModif.removeRow(0); 
    	    }
     
     
    		int j = 0;
    		while (j < vMois.size())
    		{
    			Vector vMoisReel = new Vector();
    			LigneCompte lc = new LigneCompte();
    			lc = (LigneCompte)(vMois.elementAt(j));
     
    			String dateMois = lc.getDateLigne().toString();
    			String debitMois = "";
    			String creditMois = "";
    			if (lc.getSens()=='D')
    				debitMois = "-"+Double.toString(lc.getValeur());
    			else
    				creditMois = "+"+Double.toString(lc.getValeur());
     
     
    			String soldeMois = Double.toString(lc.getSoldeCourant()); 
    			String intituleMois = lc.getIntitule();
     
     
    			vMoisReel.addElement(dateMois);
    			vMoisReel.addElement(debitMois);
    			vMoisReel.addElement(creditMois);
    			vMoisReel.addElement(soldeMois);
    			vMoisReel.addElement(intituleMois);
    			modelModif.addRow(vMoisReel);
     
    			//pour la case à cocher
    			if (lc.getValide()==true)
    			{
    			    //on coche, la validation a été faite
    			    //
    			    // METTRE COCHE OU PAS
    			}
     
    			j++;
    		}
     
    		//pour le bouton supprimer dans les lignes
    		ButtonRenderer br = new ButtonRenderer();
    		br.setCompteClasseur(this);
    		br.setMois(mois);
    		br.setExercice(annee);
    		br.setTypeBouton("BoutonSupprimer");
    		JCheckBox cb = new JCheckBox();
    		ButtonEditor be = new ButtonEditor(cb);
     
    		tableauPanel.getTable().getColumn("S").setCellRenderer(br);
    		tableauPanel.getTable().getColumn("S").setCellEditor(be);
     
    		//pour le bouton modifier dans les lignes
    		ButtonRenderer brM = new ButtonRenderer();
    		brM.setCompteClasseur(this);
    		brM.setMois(mois);
    		brM.setExercice(annee);
    		brM.setTypeBouton("BoutonModifier");
    		JCheckBox cbM = new JCheckBox();
    		ButtonEditor beM = new ButtonEditor(cbM);
     
    		tableauPanel.getTable().getColumn("M").setCellRenderer(brM);
    		tableauPanel.getTable().getColumn("M").setCellEditor(beM);	
     
    		//pour avoir un ligne vide a la fin
    		ajouteLigneVierge(modelModif);
    		tableauPanel.getTable().getModel().addTableModelListener(modelModif);
    	}

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Points : 71
    Points
    71
    Par défaut
    En mettant simplement un boolean dans la JTable, ca ne marche pas?

    le boolean se transforme en checkbox ds la JTable (en passant par un TableModel)...et là normalement ca donne ce que tu veux faire.

    ex : http://java.sun.com/docs/books/tutor...nts/table.html
    (+/- vers le 1/4 du document... avec "Vegetarian")

  3. #3
    Membre régulier Avatar de zozolh2
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2003
    Messages : 128
    Points : 106
    Points
    106
    Par défaut
    le soucis est que je n'utilise pas une construction de la JTable avec une liste d'objets (dommage
    mais avec un vecteur..
    or je ne peux pas mettre de boolean dans un vecteur de String....
    voila pourquoi je cherche une methode pour setter directement la case...

    merci pour ton aide

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Points : 71
    Points
    71
    Par défaut
    Je suis p-e à côté de la plaque (tu l'as p-e déjà fait).. mais pourquoi ne pas formatter ton vecteur de String,
    ex pour un fichier: cheminFichier|taille|etc..|booleanModifiable

    et apres dans le constructeur de ton modele, tu passe le vecteur en parametre et tu construits tes objets en redécoupant chaque élément de ton vecteur.

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

Discussions similaires

  1. modifier la valeur d'une case a cocher
    Par marcmarc150 dans le forum IHM
    Réponses: 9
    Dernier message: 27/09/2010, 22h45
  2. Récupérer la valeur d'une case à cocher
    Par seb1395 dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2008, 02h18
  3. attribuer une valeur numérique à une case à cocher
    Par qtipse dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/11/2007, 14h19
  4. Réponses: 4
    Dernier message: 16/04/2007, 00h30
  5. Changer la valeur d'une case à cocher
    Par Naksh-i dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/10/2006, 13h57

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