Annuler un raccourci par defaut

Signaler
Messages postés
210
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
18 décembre 2003
-
Messages postés
10
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
27 novembre 2003
-
bonjour,
j ai creer une jtable avec un raccourci sur la touche entrer permettant le changement de colonne
mais par defaut la touche entrer sert dans une jtable a changer de ligne (passage a la ligne suivante)
ce qui genere un pb dans mon raccourci
je voudrais donc savoir s il est possible d annuler le raccourci par defaut sur la touche entrer (ie: le rendre inactif)
ou alors s il est possible de le surchager de facon a annuler son effet
bref une solution pour que enter ne serve plus a passer a la ligne suivante
merci d avance

benohite
:big)

7 réponses

Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
oui normalement en surchargeant ca va le faire
mais il ne faudra pas faire appel a super.lamethodesurchargée sinon ca annulera rien
Duss
Messages postés
210
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
18 décembre 2003
7
je suis d accord mais je ne sais pas quelle methode je dois surcharger car je ne sais pas comment est gerer ce raccourci par le jtable
je suis alle voir le fichier jtable.java du jdk mais je n y ais pas trouve d infos concluantes

de plus je suis presque arrive au bout
j arrive a faire ce que je veux mais pas pour la premiere ligne de la table
en effet pour toutes les autres lignes lorsque j appuie sur entrer je change de colonne sauf pr la 1ere ligne
voici le code appelle lorsqu on appuie sur entrer:
public void keyPressed(KeyEvent evt)
{
                int i = tab.getSelectedRow()-1;
int j = tab.getSelectedColumn();
int keycode = evt.getKeyCode();

                if(keycode == KeyEvent.VK_F1)  
                {
                System.exit(0);
                 }                                                       
                if(keycode == KeyEvent.VK_ENTER)
{
System.out.println("couple:"+i+""+j);
tab.changeSelection(i,j+1,false,false);
tab.editCellAt(i,j+1);
System.out.println("couple:"+tab.getSelectedRow()+""+tab.getSelectedColumn());
}

if(keycode == KeyEvent.VK_F2)
{
System.out.println("valeur de la ligne:"+i);
for(int y=0;y<=4;y++)
{
System.out.println("valeur:"+tab.getValueAt(i,y));
}
System.out.println("---------------------------------");
}
}


j espere que ca va vous donne une idee car moi je n en ais plus

benohite
:big)
Messages postés
210
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
18 décembre 2003
7
une petite precesion pour plus de clarete
lorsue le focus est sur la 1ere case (haut-droite) de la table et que j appuie sur entrer il passe alors a la 2e ligne et 2e colonne si je rappuie dessu il passe a la 3e colonne mais enrestant sur la 2e ligne et ce jusqu a la dernier colonne de la dernier ligne
il reviens ensuite sur la 1er cellule bug a nouveau puis fonctionne normalement jusqu en bas et ainsi de suite
j espere avoir ete comprehensible

benohite
:big)
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
ben fo ptet faire un int j = tab.getSelectedColumn()-1;
comme pour la ligne
Duss
Messages postés
210
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
18 décembre 2003
7
non parce j avance dans les colonnes
le truc c est qu en fait la touche entrer incremente par defaut le i de 1 et donc en mettant -1 c etait sense neutralise cet effet mais ca engendre un bug sur la 1ere ligne
et meme avec un if(i==0){} ca ne change rien
je pense que c est un pb qui va rester sans solution
parce que je me prend la tete la dessus depuis ce matin 9h et je commence a en avoir sacrement marre
je crois qu il va falloir que je m y resigne

benohite
:big)
Messages postés
210
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
18 décembre 2003
7
je reponds a moi meme mais ceux qui liront ceci seront peut etre interesser
il existe une methode de la classe JComponent donc heritee par JTable nomme void resetKeyboardActions()
comme vous l avez compris la solution pour annuler les raccroucis par defaut se trouve ici
en de bon entendeur salut

benohite
:big)
Messages postés
10
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
27 novembre 2003

slt,
est-ce que la methode resetKeyboardActions() peut annuler le raccourci Ctrl+Alt+Suppr, et si c'est le cas comment restaurer les raccourcis