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 :

[swing]jtable, desactiver une colonne


Sujet :

Composants Java

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut [swing]jtable, desactiver une colonne
    Salut a tous,
    est ce que c'est possible de désactiver une colonne de sorte que toutes les cases de celle soit grisé (lecture/écriture impossible)?
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    pour annuler la modification, tu pourrais redéfinir la méthode isCellEditable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    JTable table = new JTable(){  
    	public boolean isCellEditable(int row,int column){  
    		//la première colonne est non éditable
    		if(column == 0) 
    			return false;
    		return true;  
    	}  
    };
    pour la lecture

    normalement un composant grisé, c'est un composant dont on peut voir le contenu sans le modifier... non??!!

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    normalement un composant grisé, c'est un composant dont on peut voir le contenu sans le modifier... non??!!
    oui je me suis trompé .
    bref ça marche bien et je veux activer/désactiver la colonne (en cliquant sur un bouton par exemple) recrée une jtable chaque fois c'est un peu limite quand même.
    Y a pas une autre solution ?

  4. #4
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    je n'ai jamais dis de recréer un JTable à chaque fois, faut pas me faire dire ce que j'ai pas dit
    utilises un boolean pour définir l'état de la colonne, et dans le code de ton bouton, tu changes ce boolean

    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
     
    boolean colonneGrise = false;
    JTable table = new JTable(){  
    	public boolean isCellEditable(int row,int column){  
    		//la première colonne est non éditable si colonneGrise == true
    		if(column == 0) 
    			if (colonneGrise)
    				return false;
    		return true;  
    	}  
    };
    JButton btnGriserColonne = new JButton("Griser");
    btnGriserColonne.addActionListener(new ActionListener() {
    	public void actionPerformed(ActionEvent ae) {
    		colonneGrise = true;
    	}
    });

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    y a pas un autre moyen ? prcq mon jtable est généré automatiquement par l'ide (netbeans) et je peux pas le modifier.

  6. #6
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    tu as la possibilité de modifier la façon dont un composant est instancié sous Netbeans

    clic droit sur le composant (jtable) --> Customize Code
    et là tu auras une fenêtre où tu verras le code de création
    par exp tu pourras trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jTable1 = new javax.swing.JTable();
    et à sa gauche il y a une combo où il y a default code et custom creation, tu choisis le deuxième choix, et tu modifie selon tes besoin

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    est ce que je peux metter à l'intérieur d'une cellule d'une table un bouton radio ou simple???

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/07/2011, 16h22
  2. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  3. [JTable] ajouter une colonne de checkbox
    Par nawel dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 14h07
  4. Réponses: 4
    Dernier message: 09/02/2005, 10h44
  5. [JTable] redimensionner une colonne
    Par TheSeb dans le forum Composants
    Réponses: 2
    Dernier message: 21/12/2004, 19h30

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