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 :

Renderer dans JTable


Sujet :

Composants Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Par défaut Renderer dans JTable
    Bonjour,

    Je post rarement mais là je bloque depuis un moment et ça m'exaspère.

    Je dois modifier l'affichage des cellules d'une colonne. J'utilise donc un DefaultTableCellRenderer.

    Le problème, tout simple, absolument rien ne se passe...
    Voilà 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
     
    setDefaultRenderer( String.class, new DefaultTableCellRenderer(){
     
    	@Override
    	public Component getTableCellRendererComponent ( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column )
    	{
     
    		Component compo = getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     
    		AbstractTable.IColonne col = getColonneAt(column);
    		Data lignePb = getRowAt(row);
     
    		JLabel label = new JLabel();
    		label.setOpaque(true);
    		label.setBackground(compo.getBackground());
     
     
    		label.setText( "text" );
     
    		return label;
    	}
    });
    Ca ne fonctionne pas non plus avec Object.class au lieu de String.class.
    Quelque chose doit m’échapper dans le fonctionnement, mais quoi ?

    Merci

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Tu as oublié un "super." à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Component compo = getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    Parce que là tu as un appel récursif qui ne s'arrête jamais.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Component compo = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Il faut également vérifier la classe affectée à la colonne (lien)
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Par défaut
    Merci à vous deux pour vos réponses.

    Cependant, cela ne change rien, aucun traitement n'est appliqué à ma Table...

    Ma colonne est bien typé String...

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Je t'invite donc à nous poster un bon ECM (voir ma signature )
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par défaut
    essayez avec une seule colonne :
    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
     
    table.getColumnModel().getColumn(0).setCellRenderer( new DefaultTableCellRenderer(){
     
    	@Override
    	public Component getTableCellRendererComponent ( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column )
    	{
     
    		Component compo = getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     
    		AbstractTable.IColonne col = getColonneAt(column);
    		Data lignePb = getRowAt(row);
     
    		JLabel label = new JLabel();
    		label.setOpaque(true);
    		label.setBackground(compo.getBackground());
     
     
    		label.setText( "text" );
     
    		return label;
    	}
    });
    si ça n'a pas marcher peut être que vous n'avez pas utiliser un AbstractTableModel ou indiquer qu'il s'agit de colonnes typés String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public Class getColumnClass(int columnIndex){
     
                return String.class;
    	}

  7. #7
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    Salut,
    je ne suis pas un expert, mais j'ai une bonne expérience en matière de JTable.
    Bon, je vois tout de suite une chose ... c'est qu'il n'y a pas de constructeur.
    Peut-être qu'il y a moyen de faire sans, toujours est-il que ce code marche très bien chez moi :

    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
     
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
    	ImageIcon icon;
    	public InfosCellRenderer(){
    		super();
    		this.setText("");
    		icon = new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png");
    		this.setIcon(icon);
    	}
    	@Override
    	public Component getTableCellRendererComponent(JTable table, Object value,	boolean isSelected, boolean hasFocus, int row, int column) {
    		this.setToolTipText(value.toString());
    		 return this;
    	}
    }
    le JLabel est initialisé dans le constructeur, et je fais un setIcon dans le constructeur aussi, pour pas le faire à chaque demande

    Donc essaye avec une constructeur, ça devrait marcher ... perso, je n'ai jamais fait ce genre de CellRenderer "à la volée", c'est pour ça que je ne m'avance pas plus

  8. #8
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    L'attribut "icon" est utilisé comme une variable et tu n'appelles pas le code la méthode parente.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  9. #9
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    je suppose que tu t'adresses à moi puisque que l'icone est dans mon exemple ...

    euh ... c'est vrai que j'ai bricolé un peu, mais logiquement c'est plus rapide que si tu fait un setIcon à chaque fois.
    Dans mon exemple, l'icône est instanciée au début ... puis on renvoi toujours la même, sans gaspiller de ressource en refaisant un setIcon ...

    enfin, n'hésite pas à me dire si cela présente des inconvénients

    Merci.

  10. #10
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Comme ça c'est mieux :
    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
     
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
    	//TODO Supprimes l'attribut non utilisé ImageIcon icon;
    	public InfosCellRenderer(){
    		super();
    		this.setText("");
                    //TODO Remplaces l'attribut par une variable
    		ImageIcon icon = new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png");
    		this.setIcon(icon);
    	}
    	@Override
    	public Component getTableCellRendererComponent(JTable table, Object value,	boolean isSelected, boolean hasFocus, int row, int column) {
                    //TODO Appelles le code par défaut pour initialiser le renderer
                    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
    		this.setToolTipText(value.toString());
    		 return this;
    	}
    }
    Le problème c'est pas le constructeur mais le fait d'ajouter un attribut qui n'est pas utilisé en tant que tel.
    D'autant plus qu'il existe déjà une propriété pour cela !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Et pour être vraiment propre

    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
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
        private ImageIcon icon;
        public InfosCellRenderer(){
            super();
            icon = new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png");
     
        }
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value,    boolean isSelected, boolean hasFocus, int row, int column) {
                    //TODO Appelles le code par défaut pour initialiser le renderer
            JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            l.setText("");
            l.setIcon(icon);
            return l;        
        }
    }
    En effet, il se peut que le composant renvoyé par super.getTableCellRendererComponent ait une configuration légèrement différente du composant courant (c'est en particulier le cas quand le L&F utilisé est Nimbus).

    De fait il est préférable d'utiliser le composant retourné par cette méthode.

  12. #12
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    La classe DefaultTableCellRenderer renvoie toujours "itself". C'est la logique même des renderer de Swing, ce sont que des "stamp" (tampons).

    De plus inutile d'appeler setIcon à chaque fois et si tu veux un text vide pourquoi ne pas passer une chaîne vide (ou null) à l'appel de la méthode parente ?
    Ou mieux ne redéfinir que la méthode setValue afin qu'elle ne fasse rien.

    En tout cas ca me semble étrange de ne rien faire avec la valeur.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  13. #13
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    Citation Envoyé par Nemek Voir le message

    De plus inutile d'appeler setIcon à chaque fois et si tu veux un text vide pourquoi ne pas passer une chaîne vide (ou null) à l'appel de la méthode parente ?
    Ou mieux ne redéfinir que la méthode setValue afin qu'elle ne fasse rien.

    En tout cas ca me semble étrange de ne rien faire avec la valeur.
    d'abord, merci beaucoup pour tous ces éclairages
    Sinon, je fais quelque chose avec la valeur ! Je l'affiche en bulle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setToolTipText(value.toString());
    Sinon, d'accord avec toi pour la variable icon ...
    par contre, pas tout à fait d'accord avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
    pour la bonne raison que ce code si je ne me trompe affiche ce qui est passé dans la variable value.
    Or, moi je ne veux pas ça, je veux seulement que ça s'affiche en bulle.
    Don pas besoin du super .... tu es d'accord avec ça ?

    Autrement dit, il faudrait faire comme ceci :

    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
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
    	//TODO Supprimes l'attribut non utilisé ImageIcon icon;
    	public InfosCellRenderer(){
    		super();
    		this.setText("");
                    //TODO Remplaces l'attribut par une variable
    		ImageIcon icon = new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png");
    		this.setIcon(icon);
    	}
    	@Override
    	public Component getTableCellRendererComponent(JTable table, Object value,	boolean isSelected, boolean hasFocus, int row, int column) {
     
    		this.setToolTipText(value.toString());
    		 return this;
    	}
    }
    c'est bien cela ?
    Merci encore.

  14. #14
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Citation Envoyé par Dominique49 Voir le message
    d'abord, merci beaucoup pour tous ces éclairages
    De rien le forum est là pour ça :p

    Citation Envoyé par Dominique49 Voir le message
    Sinon, je fais quelque chose avec la valeur ! Je l'affiche en bulle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setToolTipText(value.toString());
    Je parlais des exemples fournis ;-)

    Citation Envoyé par Dominique49 Voir le message
    par contre, pas tout à fait d'accord avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
    pour la bonne raison que ce code si je ne me trompe affiche ce qui est passé dans la variable value.
    Or, moi je ne veux pas ça, je veux seulement que ça s'affiche en bulle.
    Don pas besoin du super .... tu es d'accord avec ça ?
    Non car le super ne fait pas que ça, il gère également la font, le focus, etc.

    Citation Envoyé par Dominique49 Voir le message
    Autrement dit, il faudrait faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
            //TODO Eviter ce code crado
            {
    		this.setIcon(new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png"));
            }
     
    	@Override
    	public void setValue(Object value) {
              this.setToolTipText(value != null ? value.toString() : "");
    	}
    }
    Citation Envoyé par Dominique49 Voir le message
    c'est bien cela !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  15. #15
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    d'accord ...
    en effet, j'avais remarqué que la cellule ne changeait pas d'aspect quand la ligne était sélectionnée. En fait, ça m'arrangeait sinon on n'aurais pas beaucoup vu l’icône qui est de couleur plutôt bleue

    Juste au passage, es-ce qu'un super (et donc un setText("")) dans la méthode getTableCellRendererComponent prend des ressources ... ce serait logique
    Enfin, ça en prend plus que si on mais rien quoi, mais il faut ce qu'il faut !
    En fait, j'ai beaucoup d'icône ... et ça m'arrange que ces cellules reste en blanc au focus, sinon ça ne serait pas sympa

    Merci encore, et à bientôt.

    NB
    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
     
     
    // imports
     
    public class InfosCellRenderer extends DefaultTableCellRenderer {
            //TODO Eviter ce code crado
            {
    		this.setIcon(new ImageIcon("Organizator_Ressources/medias/images/prog/screenActivity/infos.png"));
            }
     
    	@Override
    	public void setValue(Object value) {
              this.setToolTipText(value != null ? value.toString() : "");
    	}
    }
    je suppose que c'est getTableCellRendererComponent au lieu de setValueAt ?
    j'ai bien pensé à la condition pour le cas ou value serait égal à null, mais quand c'est le cas, aucune bulle ne s'affiche, c'est pour ça que j'ai rien mis.

    a+

  16. #16
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    setValue est la méthode appelée par le DefaultTableCellRenderer pour gérer la valeur.

    value.toString() te lancera une NullPointerException si value est null !

    Tout code exécuté prend des ressources Mais sur quelques millions de lignes tu ne verras quasiment pas de différences et de toutes façons ca exploserait ailleurs !

    Il y a également la bordure à gérer.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  17. #17
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    ok, merci beaucoup.

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

Discussions similaires

  1. JSlider renderer dans une JTable
    Par Malawi dans le forum Graphisme
    Réponses: 2
    Dernier message: 04/12/2007, 19h37
  2. Réponses: 5
    Dernier message: 29/08/2007, 17h11
  3. [JTable][RadioButton]Afficher groupe de boutons dans JTable
    Par leminipouce dans le forum Composants
    Réponses: 11
    Dernier message: 21/02/2006, 18h04
  4. combobox dans jtable
    Par nicotine002 dans le forum Composants
    Réponses: 1
    Dernier message: 11/01/2006, 00h01
  5. Selection listener dans JTable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 02/08/2004, 18h56

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