Editer un champ date à partie d'une jTable [Résolu]

veterant_mbk 8 Messages postés samedi 4 septembre 2004Date d'inscription 22 mars 2008 Dernière intervention - 20 mars 2008 à 12:38 - Dernière réponse : uhrand 493 Messages postés samedi 20 mai 2006Date d'inscription 15 juillet 2012 Dernière intervention
- 22 mars 2008 à 20:02
bonjour,
j'ai généré un programme par netbeans (j2se) utilisant une jTable, il y a un champ date que je n'arrive pas à éditer?
dans le textField correspondant je n'ai trouvé aucune propriété de format

le veterant
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
uhrand 493 Messages postés samedi 20 mai 2006Date d'inscription 15 juillet 2012 Dernière intervention - 20 mars 2008 à 16:54
3
Merci
Tu peus également mettre ton code dans le mode "Design" de NetBeans: dans la fenêtre « table [JTable] Properties » tu clique sur le Bouton  « Code » et ensuite sur « Post-Creation Code ». La tu peus coller p.ex. ceci :

table.setModel(new DefaultTableModel(
        new Object [][] {
            {new Date(), new Date(), "demo1"},
            {new Date(), new Date(), "demo2"},
            {new Date(), new Date(), "demo3"},
            {null, null, "demo4"}
},
        new String [] {"Date 1", "Date 2", "Demo"}
) {
    Class[] types = new Class [] {
        Date.class, Date.class, String.class
    };
    public Class getColumnClass(final int columnIndex) {
        return types [columnIndex];
    }
});

Après tu clique sur "Properties" | "model" | "Reset to default"

Merci uhrand 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de uhrand
Meilleure réponse
uhrand 493 Messages postés samedi 20 mai 2006Date d'inscription 15 juillet 2012 Dernière intervention - 21 mars 2008 à 17:18
3
Merci
As-tu bien mis la colonne date sur "java.util.Date.class" et est-ce que tu met des objets du type java.util.Date dans cette colonne? Et as-tu en plus bien attaché le "date renderer" ainsi que le "date editor" à la colonne date??

Merci uhrand 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de uhrand
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 20 mars 2008 à 13:11
0
Merci
Salut,

Pourquoi tu poste dans le bar si ta question concerne JAVA ????

Je déplace vers le forum de javafr !
______________________________________
DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
uhrand 493 Messages postés samedi 20 mai 2006Date d'inscription 15 juillet 2012 Dernière intervention - 20 mars 2008 à 16:35
0
Merci
Ceci pourrait être utile:  SIMPLE DATE RENDERER ET DATE EDITOR POUR JTABLE
Commenter la réponse de uhrand
veterant_mbk 8 Messages postés samedi 4 septembre 2004Date d'inscription 22 mars 2008 Dernière intervention - 21 mars 2008 à 14:45
0
Merci
bonjour,
merci pour ce code, je l'ai utilisé mais ça donne pas grand chose.
mon formulaire comporte une zone jTable ( 5 champs, 4 champs texte et le 5° est date) 5 zones labels et 5 zones textFields.
a l'ouverture du formulaire, une requete s'exécute et remplit la jTable
un clic sur une ligne de la jTable envoit son contenu dans les champs textField : je constate à ce niveau que le contenu du champ date, désigné datn, ne garnit pas la zone textField correspondante, notée datnField; par ailleurs datnField devient non accessible
inversement, si je clique sur new pour ajouter une ligne, chaquefois que je passe pas un textField, son contenu est affiché sur la nouvelle ligne de la jTable sauf pour datnField où il ne se passe rien
Aprés les transformations que vous m'avez indiqué, en double cliquant sur le champ date d'une ligne de la jTable, celuici devient editable; l'édition de la zone bloque l'accés à d'autres lignes de la jTable; si je clique sur save puis sur refresh, je constate que la modification a été réalisée

le veterant
Commenter la réponse de veterant_mbk
veterant_mbk 8 Messages postés samedi 4 septembre 2004Date d'inscription 22 mars 2008 Dernière intervention - 22 mars 2008 à 16:24
0
Merci
bonjour,
ma table s'appelle masterTable, et la colonne date s'appelle datnField
j'ai mis le code suivant comme vous m'avez indiqué
--------
        masterTable.setModel(new javax.swing.table.DefaultTableModel
            (
                new Object[][] {
                    { new java.util.Date(), new java.util.Date(), "demo 1"},
                    { new java.util.Date(), new java.util.Date(), "demo 2"},
                    { new java.util.Date(), new java.util.Date(), "demo 3"},
                    {null, null, "demo 4"}
                },
                new String[]{"Date 1", "Date 2", "Demo"}
            )
            {
                Class[] types = new Class[]{java.util.Date.class, java.util.Date.class , String.class};
                public Class getColumnClass(final int columnIndex){
                    return types[columnIndex];
                };
            }


        );
----------
la compilation me dit que c'est une api dépréciée, en voila le message
---
Note: C:\form3\Form3View.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\form3\src\form3\Form3View.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
---
je ne comprends pas ce que vous m'avez demandé :
As-tu bien mis la colonne date sur "java.util.Date.class" et est-ce que tu met des objets du type java.util.Date dans cette colonne? Et as-tu en plus bien attaché le "date renderer" ainsi que le "date editor" à la colonne date??
---
pouvez vous éclaircir
merci
"

le veterant
Commenter la réponse de veterant_mbk
uhrand 493 Messages postés samedi 20 mai 2006Date d'inscription 15 juillet 2012 Dernière intervention - 22 mars 2008 à 20:02
0
Merci
D'après ton code je vois que tu utilise bien java.util.Date (je demandais ça parcequ'il existe aussi java.sql.Date ). Le truc du renderer/editor se rapporte à mon premier message (voir plus haut).
Commenter la réponse de uhrand

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.