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 :

Edition lettre par lettre


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    novembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2011
    Messages : 42
    Points : 35
    Points
    35
    Par défaut Edition lettre par lettre
    Bonjour à tous

    J'ai une JTable et un TableModelListener qui me permet d'enregistrer de sauvegarder les données de la table juste après édition (touche Enter ou perte de focus) grâce à la fonction tableChanged. Seulement ça me pose quelques problème dans le sens où je DOIS faire Enter ou cliquer à coté pour enregistrer les données.

    Je voudrais donc que mes données soient vérifiées quand j'entre une lettre et pas quand je "valide" une case. Une solution ?

  2. #2
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Salut

    je ne saisi pas très bien ton problème c'est un peu flou sans exemple et sans code.
    A tout hasard as tu essayer avec un TableCellEditor ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    novembre 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2011
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Je connaissais pas, donc je suis allez voir vite fait et ça m'as permis de résoudre le problème :
    Code Java : 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
    private class IntegerCellEditor extends AbstractCellEditor implements TableCellEditor
    	{
    		private JNumberField field; // JTextField modifié
    		private JTable table;
    		private SetValue listener;
     
    		public IntegerCellEditor (JTable table) {
    			if (title.equals("%Comp.")) // Seule valeur ne pouvant être négative
    				field = new JNumberField(0, 100);
    			else
    				field = new JNumberField(-100, 100);
    		}
     
    		@Override
    		public Object getCellEditorValue()
    		{
    			return field.getValue(); // Integer.parse(TextField.getText())
    		}
     
    		@Override
    		public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
    				int row, int column)
    		{
    			// Effacement de l'ancien listener
    			if (listener != null)
    				field.removeKeyListener(listener);
    			listener = new SetValue(row, column, table, field); // Nouveau listener
    			field.setValue((int) value); // TextField.setText("" + value)
    			field.addKeyListener(listener);
    			return field;
    		}
     
    		// Listener permettant d'ajouter au JTable
    		private class SetValue implements KeyListener
    		{
    			private int row, col;
    			private JTable table;
    			private JNumberField field;
     
    			public SetValue (int r, int c, JTable t, JNumberField f) {
    				row = r;
    				col = c;
    				table = t;
    				field = f;
    			}
     
    			@Override
    			public void keyPressed(KeyEvent arg0)
    			{}
     
    			@Override
    			public void keyReleased(KeyEvent e)
    			{
    				table.setValueAt(field.getValue(), row, col);
    			}
     
    			@Override
    			public void keyTyped(KeyEvent arg0)
    			{}
    		}
    	}

    Merci Laine

  4. #4
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    ravie d'avoir pu aider

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

Discussions similaires

  1. Affichage texte lettre par lettre
    Par Yami no tenshi dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/09/2008, 13h22
  2. Afficher un texte lettre par lettre
    Par koKoTis dans le forum Flash
    Réponses: 2
    Dernier message: 11/12/2007, 21h14
  3. Comparer une chaîne lettre par lettre
    Par ero-sennin dans le forum C++Builder
    Réponses: 9
    Dernier message: 10/11/2007, 21h23
  4. Réponses: 6
    Dernier message: 23/01/2007, 17h20

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