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

AWT/Swing Java Discussion :

Sélectionner le contenu d'un JTextField dans la cellule d'un tableau


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de rozwel
    Inscrit en
    Mars 2002
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 324
    Par défaut Sélectionner le contenu d'un JTextField dans la cellule d'un tableau
    J'ai implémenté un éditeur personnalisé pour les cellules d'un tableau. Ces cellules peuvent contenir des dates qui correspondent en fait à des heures, donc j'ai implémenté l'éditeur suivant:
    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
     
    public class DateCellEditor extends AbstractCellEditor implements TableCellEditor {
        private JTextField field;
        private DateFormat format;
     
        public DateCellEditor(String format) {
            super();
            this.format = new SimpleDateFormat(format);
        }
     
        public Object getCellEditorValue() {
            try {
                return format.parse(field.getText());
            } catch (ParseException e) {
                LOG.error(e);
                return null;
            }
        }
     
        public Component getTableCellEditorComponent(final JTable table, Object value, boolean b, int row, final int column) {
            field = new JTextField(format.format((Date) value));
            field.selectAll();
            return field;
        }
    }
    J'espérais que le field.selectAll() permettrait de sélectionner toute l'heure par défaut, pour que l'utilisateur puisse directement commencer à saisir une nouvelle heure. Mais ça ne fonctionne pas. Pour une raison qui m'échappe, quand j'édite une telle cellule, le contenu est désélectionné et je dois faire la sélection à la souris.

    Une idée?

  2. #2
    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
    Celà doit être fait sur un focusGained donc en utilisant un FocusListener sur le composant qui te sert d'editor.

    De même il ne fait faut pas réinstacier à chaque fois ton JTextfield, utilises plutôt un setValue et instancie ton JTextField une bonne fois pour toute dans ton constructeur.

Discussions similaires

  1. [PHPExcel] Contenu d'un array dans même cellule
    Par spark_legion dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 17/08/2011, 21h55
  2. Réponses: 2
    Dernier message: 29/04/2010, 14h55
  3. [E-00] Sélectionner le contenu d'un textbox (dans une feuille)
    Par pressorus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/11/2008, 22h24
  4. Affichage du contenu d'une page dans une cellule d'un tableau
    Par Fizgig dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/10/2007, 17h45
  5. [JTreeTable] JTextField dans une cellule
    Par seiryujay dans le forum Composants
    Réponses: 3
    Dernier message: 28/07/2005, 10h30

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