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] récupérer valeur cellule après saisie


Sujet :

Composants Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut [JTable] récupérer valeur cellule après saisie
    Bonjour,
    Comment récupérer la valeur saisie par l'utilisateur ?
    Je souhaite savoir ce qu'il vient de taper pour mettre le texte en majuscules et faire d'autres choses avec.
    Merci.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Et la javadoc, alors ?
    Voici la solution
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Salut,
    Merci pour l'aide mais j'ai une exception
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.elementAt(Vector.java:430)
    at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:632)
    at Tableau.tableChanged(Tableau.java:89)
    at javax.swing.JTable.setModel(JTable.java:3626)
    at javax.swing.JTable.<init>(JTable.java:611)
    at javax.swing.JTable.<init>(JTable.java:539)
    at Tableau.<init>(Tableau.java:14)
    at FenetrePrincipale.<init>(FenetrePrincipale.java:19)
    at MainClass$1.run(MainClass.java:23)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    BUILD SUCCESSFUL (total time: 1 second)


    Voici le code 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
    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
     
    import java.awt.Font;
    import javax.swing.JLabel;
    import javax.swing.JTable;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableModel;
     
    class Tableau extends JTable implements TableModelListener {
     
        public Tableau(){
     
            getModel().addTableModelListener(this);
     
            this.setModel(new DefaultTableModel(new Object[][]{
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null}
            },
                new String [] {
                    "<html><bold><H3>HEURE", "<html><bold><H3>RECETTE",
                    "<html><bold><H3>NOMBRE", "<html><bold><H3>RELIQUATS",
                    "<html><bold><H3>TOTAL", "<html><bold><H3>NB CONT",
                    "<html><bold><H3>NB BU", "<html><bold><H3>GROUPE"                        
                }
                    ));
     
            this.setFont(new Font("SANS SERIF", Font.BOLD, 16));
     
            DefaultTableCellRenderer custom = new DefaultTableCellRenderer();
            custom.setHorizontalAlignment(JLabel.CENTER);
            for (int i=0 ; i<this.getColumnCount() ; i++) {
                this.getColumnModel().getColumn(i).setCellRenderer(custom);
            }
     
            for (int i = 0; i < 8; i++) {
     
                TableColumn col = this.getColumnModel().getColumn(i);
                col.setPreferredWidth(100);
     
                this.getColumnModel().getColumn(i).setResizable(false);
     
                this.tableHeader.setReorderingAllowed(false);
            }
     
            this.setRowSelectionAllowed(false);
            this.setRowHeight(28);
        }
     
        @Override
        public void tableChanged(TableModelEvent e) {
     
        int row = e.getFirstRow();
        int column = e.getColumn();
        TableModel model = (TableModel)e.getSource();
        String columnName = model.getColumnName(column);
        Object data = model.getValueAt(row, column);
     
        // A suivre...
        }
    }

    Même si je laisse le corps de la fonction TableChanged vide, j'ai l'exception.
    C'est un problème de débordement du tableau.
    J'avoue que je suis un peu paumé là.

  4. #4
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Voici un exemple.
    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
    import java.awt.Color;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.TableModel;
     
    public class Tableau {
     
    	public static void main(String[] args) {
    		JFrame f = new JFrame();
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		Object[][] donnees = {
    				{ "Swing", "Astral", "standard", Color.red, Boolean.TRUE },
    				{ "Swing", "Mistral", "standard", Color.yellow, Boolean.FALSE },
    				{ "Gin", "Oasis", "standard", Color.blue, Boolean.FALSE },
    				{ "Gin", "boomerang", "compétition", Color.green, Boolean.TRUE },
    				{ "Advance", "Omega", "performance", Color.cyan, Boolean.TRUE }, };
    		String[] titreColonnes = { "marque", "modèle", "homologation",
    				"couleur", "vérifiée ?" };
    		JTable jTable1 = new JTable(donnees, titreColonnes);
    		jTable1.getModel().addTableModelListener(new TableModelListener() {
    			@Override
    			public void tableChanged(TableModelEvent e) {
     
    				int row = e.getFirstRow();
    				int column = e.getColumn();
    				TableModel model = (TableModel) e.getSource();
    				String columnName = model.getColumnName(column);
    				Object data = model.getValueAt(row, column);
    				System.out.println("Colone '" + columnName
    						+ "', ligne " + row + " : newValue -> \"" + data+"\"");
    			}
    		});
    		f.add(new JScrollPane(jTable1));
    		f.pack();
    		f.setVisible(true);
    	}
     
    }

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Tu me postes un code mais je préfèrerais des explications plutôt car là ça ne m'aide pas beaucoup.
    Mais je te remercie tout de même.

  6. #6
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    J'ai changé le constructeur de mon Tableau pour "coller" à ton exemple :
    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
    import java.awt.Font;
    import javax.swing.JLabel;
    import javax.swing.JTable;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableModel;
     
    class Tableau extends JTable implements TableModelListener {
     
     
        public Object[][] donnees = {
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null},
        };
        public String[] enTetes = {
            "<html><bold><H3>aa", "<html><bold><H3>bb",
            "<html><bold><H3>ccE", "<html><bold><H3>dd",
            "<html><bold><H3>ee", "<html><bold><H3>ff",
            "<html><bold><H3>gg", "<html><bold><H3>hh"                        
            };    
     
        public Tableau(Object[][] donnees, String[] enTetes){
     
            getModel().addTableModelListener(this);
     
            this.setFont(new Font("SANS SERIF", Font.BOLD, 16));
     
            DefaultTableCellRenderer custom = new DefaultTableCellRenderer();
            custom.setHorizontalAlignment(JLabel.CENTER);
            for (int i=0 ; i<this.getColumnCount() ; i++) {
                this.getColumnModel().getColumn(i).setCellRenderer(custom);
            }
     
            for (int i = 0; i < 8; i++) {
     
                TableColumn col = this.getColumnModel().getColumn(i);
                col.setPreferredWidth(100);
     
                this.getColumnModel().getColumn(i).setResizable(false);
     
                this.tableHeader.setReorderingAllowed(false);
            }     
     
     
            this.setRowSelectionAllowed(false);
            this.setRowHeight(28);
     
            this.setVisible(true);
        }
     
        @Override
        public void tableChanged(TableModelEvent e) {
        int row = e.getFirstRow();
        int column = e.getColumn();
        TableModel model = (TableModel)e.getSource();
        String columnName = model.getColumnName(column);
        Object data = model.getValueAt(row, column);
     
        // A suivre...
        }
    }

    Mais comment déclarer le tableau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Tableau tableau = new Tableau(ICI);

  7. #7
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Dois-je obligatoirement créer une classe qui étend AbstractTableModel pour ensuite remplir ma Jtable avec ce modèle ou puis-je m'en passer ?
    Je précise que le tableau sera rempli "manuellement" par l'utilisateur (comme un tableau Excel).

    Ensuite je devrais à chaque saisie vérifier le format, mettre en majuscules certaines saisies ou encore réaliser un calcul avec le nombre saisi dans une colonne pour afficher le résultat dans une autre colonne.

    Mes différents tests pour récupérer une valeur ou afficher du texte dans une cellule (par appui sur un bouton par exemple) fonctionnent sans problème.

    Le soucis est vraiment sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void tableChanged(TableModelEvent e)
    Pourquoi je déborde du tableau en mettant ça ?
    Merci.

  8. #8
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Du nouveau. J'ai fait 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
    this.getModel().addTableModelListener(new TableModelListener() {
     
            @Override
            public void tableChanged(TableModelEvent e) {
     
                int row = e.getFirstRow();
                int column = e.getColumn();
                TableModel model = (TableModel)e.getSource();
                String columnName = model.getColumnName(column);
                Object data = model.getValueAt(row, column);
     
                String tt = data.toString();
                model.setValueAt(tt, row, column); // cette ligne pose problème
                    }
             });
    J'ai un dépassement de pile :
    Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    bah :
    - tu récupère l'événement de changement de valeur
    - tu fais ton traitement
    - tu fais un setValueAt() <--- qui a pour conséquence de changer la valeur de ta cellule et donc d'appeler ton tableChanged()
    - tu repars au premier tiret.
    - ...
    - stak over flow.

    C'est une "boucle infinie".

    pourquoi tu repositionnes la valeur dans ta table avec exactement la même valeur ???? (ouais convertie en string mais c'est pareil) quand tu détectes un changement dans celle-ci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Object data = model.getValueAt(row, column);
    model.setValueAt(tt,row,Column);
    Si tu veux un rendu en String dans cette colonne c'est pas comme ça qu'il faut faire . Il vaut mieux te surcharger cette méthode
    http://java.sun.com/j2se/1.4.2/docs/...lumnClass(int)

  10. #10
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    D'accord mais j'ai toujours la même erreur si je fais par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.setValueAt("phrase test", row, column);

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    c'st pas l'exemple qui coince.

    C'est le fait que dans ta fonction tableChanged() (qui est appellée à chaque fois qu'il y a un changement dans ta table) tu appelles une fonction qui change ta table. Ce qui a pour conséquence de rapeller tablechanged, qui rapelle ton setValue qui rapelle ton tablechange qui rapelle ton setvalue... etc ... et de manière infinie ... enfin presque parce qu'un moment ta JVM pète et te balance une stackoverflow.

    IL ne faut pas faire de setValue dans le tableChanged.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    pour répondre à ton pb initial
    https://java.sun.com/docs/books/tuto...tml#editrender

    la solution se trouve du côté des éditors si on en croie le tutorial (tableau juste en dessous du lien que je t'ai donné).

    voilou.

  13. #13
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Et je le fais où alors ?
    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
     this.getModel().addTableModelListener(new TableModelListener() {
     
            @Override
            public void tableChanged(TableModelEvent e) {
     
                int row = e.getFirstRow();
                int column = e.getColumn();
                TableModel model = (TableModel)e.getSource();
                String columnName = model.getColumnName(column);
                Object data = model.getValueAt(row, column);
                data = data.toString().toUpperCase();
     
                // je veux remettre le texte dans sa cellule
     
                }
             });

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    // je veux remettre le texte dans sa cellule
    avant d'aller plus loin
    , à quoi ça te sert? tu ne l'as pas "enlevé" de ta cellule.

    sinon tu ne fais pas ça dans la fonction tableChanged les éditors pour des tables , je te conseille de suivre les tutos pour les éditors. Ca sera plus simple que des explications .

  15. #15
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Je veux remettre le texte après l'avoir mis en majuscules.

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    exemple tout simple pour les éditors http://www.exampledepot.com/egs/java.../CustEdit.html

    tu as la méthode getCellEditorValue qui répond à ton besoin.

  17. #17
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par kisame Voir le message
    exemple tout simple pour les éditors http://www.exampledepot.com/egs/java.../CustEdit.html

    tu as la méthode getCellEditorValue qui répond à ton besoin.
    Merci pour ça !!!
    Maintenant ça marche mais je vais regarder de plus près pour comprendre.
    Sinon :
    1) Ne serais-il pas plus simple pour moi d'étendre ma classe Tableau de AbstactTableModel ?
    2) Pourquoi ?

  18. #18
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Je cherche aussi comment avoir plusieurs traitement différents en fonction de la colonne dans laquelle se situe la cellule dont la valeur a changé.

  19. #19
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Si je peut me permettre, je crois que tu ne suis pas un bon chemin pour faire ce que tu veux faire.

    Il me semble que l'utilisation d'un DefaultTableCellRenderer est plus indiqué.

    Tu as un exemple Sun :
    http://java.sun.com/docs/books/tutor....html#renderer

  20. #20
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Voici un exemple simple (surement a adapter) qui permet de transformer toutes chaines saisie dans la table en majuscules :
    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
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.TableCellRenderer;
     
    public class Tableau {
     
    	public static Object[][] donnees = {
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	        {null, null, null, null, null, null, null, null},
    	    };
    	public static String[] enTetes = {
    	        "<html><bold><H3>aa", "<html><bold><H3>bb",
    	        "<html><bold><H3>ccE", "<html><bold><H3>dd",
    	        "<html><bold><H3>ee", "<html><bold><H3>ff",
    	        "<html><bold><H3>gg", "<html><bold><H3>hh"                        
    	        }; 
     
     
    	public static void main(String[] args) {
    		JFrame f = new JFrame();
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		@SuppressWarnings("serial")
    		JTable jTable1 = new JTable(donnees, enTetes) {
    			@Override
    			public TableCellRenderer getCellRenderer(int row, int column) {
    				 return new MonRenderer();
    		    }
    		};
    		f.add(new JScrollPane(jTable1));
    		f.pack();
    		f.setVisible(true);
    	}
     
     
    }
     
    @SuppressWarnings("serial")
    class MonRenderer extends DefaultTableCellRenderer {
     
    	public MonRenderer() {	}
     
        public void setValue(Object value) {
        	if (value != null) {
        		if (value instanceof String) {
        			setText(((String)value).toUpperCase());
        		}
        	}
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupérer valeur cellule Jtable
    Par Sun03 dans le forum Composants
    Réponses: 1
    Dernier message: 06/04/2011, 09h32
  2. Récupérer valeur cellule dans classeur
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/03/2008, 00h54
  3. Comment récupérer valeur cellule d'un gridview?
    Par cortex024 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/03/2007, 14h31
  4. [VBA-E]Récupérer valeur cellule
    Par wanou44 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 06/02/2006, 12h52
  5. [POI]Récupérer valeur cellule suivant format
    Par leminipouce dans le forum Documents
    Réponses: 1
    Dernier message: 27/10/2005, 08h52

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