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 DefaultCelleditor commun


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Informaticien
    Inscrit en
    Juin 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2004
    Messages : 184
    Par défaut JTable DefaultCelleditor commun
    Bonjour,

    j'ai un JTable sur lequel j'intercepte la touche entrée pour renvoyer la touche tab.

    jusqu'à présent cette fonction était implémentée dans chaque cellEditor.

    Je n' arrive pas à ce que chaque cellEditor hérite de cette possibilité.

    voici un exemple du cellEditor de "référence" sur lequel j'ai un problème avec le super()
    il me demande de caster l'Object en JTextfield

    Merci par avance pour vos suggestions !!

    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
     
    public class JTableEntreeTab extends DefaultCellEditor{
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	public JTableEntreeTab(Object editor) {
    	super(editor);
     
    	((Component) editor).addKeyListener(new KeyAdapter()
    	{
    	public void keyPressed(KeyEvent eClav)
    	{
    		if (eClav.getKeyCode() ==KeyEvent.VK_ENTER)
    		{
    			eClav.consume();
    			System.out.println("intercepte entrée et envoi tab");
    			try 
    			{
    				Robot robot = new Robot();
    				robot.keyPress(KeyEvent.VK_TAB);
    			} 
    			catch (AWTException eAwt) 
    			{
    				new LogJava1(eAwt,null);
    			}
    			stopCellEditing();
    		}
    	}
    });
     
    	}	
    }
    et un qui devrait en hériter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public class JTableDateEditor extends JTableEntreeTab   {
     
    	private static final long serialVersionUID = 1L;
     
    	public JTableDateEditor() {
    		super(new JFormattedTextField(udfs.MasquesSaisie.getCpMask_date()));
    	}
     
    }

  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 : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Et le keyRelease du Robot ? Pour le moment, le Robot appuie indéfiniment sur "tab".
    De plus, l'utilisation de la classe Robot n'est utile que pour des tests et pas dans l'application finale (sauf rares exceptions).
    Une mauvaise utilisation de Robot peut amener à des résultats aléatoires de l'application.
    Pour ton cas, j'imagine que tu souhaites aller à la case suivante du JTable lorsque la modification est terminée ? Dans ce cas, utilise la méthode appropriée : JTable#editCellAt( int, int )
    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 très actif
    Homme Profil pro
    Informaticien
    Inscrit en
    Juin 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2004
    Messages : 184
    Par défaut
    Bonjour,

    je prend note pour l'utilisation du robot.

    Dans mon il me semblait qu'en interceptant un keypress et le remplaçant par un autre, je n'aurais pas à gérer le Keyrelease.

Discussions similaires

  1. [JTABLE][MODEL][RENDERER]Communication
    Par cameleon2002 dans le forum Composants
    Réponses: 1
    Dernier message: 31/12/2005, 14h36
  2. [JTable][DefaultCellEditor] Principe ?
    Par spoutyoyo dans le forum Composants
    Réponses: 14
    Dernier message: 08/06/2004, 17h43
  3. Réponses: 9
    Dernier message: 12/08/2002, 07h38
  4. communication corba
    Par joejoe dans le forum CORBA
    Réponses: 5
    Dernier message: 14/07/2002, 20h53
  5. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05

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