Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > fr.comp.lang.java > #1718
| From | Yliur <yliur@free.fr> |
|---|---|
| Newsgroups | fr.comp.lang.java |
| Subject | Re: DoubleClick et SingleClick |
| Date | 2018-11-04 17:47 +0100 |
| Organization | Groupes francophones par TrigoFACILE |
| Message-ID | <20181104174758.480992a4@free.fr> (permalink) |
| References | <5bdf16f0$0$21588$426a74cc@news.free.fr> |
Le 04 Nov 2018 15:57:36 GMT
jp <bloiiing@yahoo.invalid> a écrit :
> Bonjour,
>
> J'ai essayé de faire marcher le bout de code fourni par Oracle et qui
> est le suivant:
>
> JTree tree = new JTree();
>
> MouseListener ml = new MouseAdapter() {
> public void mousePressed(MouseEvent e) {
> int selRow = tree.getRowForLocation(e.getX(),
> e.getY()); TreePath selPath = tree.getPathForLocation(e.getX(),
> e.getY());
> if(selRow != -1) {
> if(e.getClickCount() == 1) {
> mySingleClick(selRow, selPath);
> }
> else if(e.getClickCount() == 2) {
> myDoubleClick(selRow, selPath);
> }
> }
> }
>
> private void myDoubleClick(int selRow, TreePath selPath) {
> // TODO Auto-generated method stub
> System.out.println("DoubleClick");
> }
>
> private void mySingleClick(int selRow, TreePath selPath) {
> // TODO Auto-generated method stub
> System.out.println("SingleClick");
> }
> };
>
> tree.addMouseListener(ml);
>
> À l'exécution, lorsque je clique une fois ça m'affiche "SingleClick".
> Par contre lorsque je double clique ça m'affiche "SingleClick" puis
> tout de suite après "DoubleClick".
>
> Ma question est, comment faire pour que ça n'affiche pas
> "SingleClick" lorsque je double clique?
Si je comprends bien tu as les deux événements qui s'affichent lors du
premier puis du second clic, tout simplement : lors du premier clic le
compteur est à 1, puis lors du clic immédiatement suivant il est à 2.
Tu ne devrais sans doute pas avoir un événement sur simple clic que tu
ne veux surtout pas exécuter lors d'un double clic : si on définit un
double clic comme deux clics successifs dans un temps donné, pour
détecter qu'il s'agit d'un simple clic il faudrait détecter le clic
puis attendre assez longtemps pour déterminer que ça ne peut pas être
un double clic. Tu pourrais le programmer, mais ça risque de rendre
l'interface "lourde", parce que les événements sur simple clic ne seront
pas traités rapidement.
Par exemple dans mon explorateur de fichiers si je fais un simple clic
sur un dossier (en réalité une simple pression, sans attendre le clic)
il est sélectionné, si je fais un double clic il est ouvert. Ces deux
actions sont compatibles : un double clic entraîne au passage la
sélection du dossier, ce qui ne pose pas de problème (au contraire, il
y a un retour visuel immédiat sur ce qu'on est en train de faire).
Quelles actions veux-tu lancer sur ton composant sur un simple puis un
double clic ? Est-ce qu'elles n'ont rien à voir entre elles ?
Back to fr.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
DoubleClick et SingleClick jp <bloiiing@yahoo.invalid> - 2018-11-04 15:57 +0000
Re: DoubleClick et SingleClick Yliur <yliur@free.fr> - 2018-11-04 17:47 +0100
Re: DoubleClick et SingleClick jp <bloiiing@yahoo.invalid> - 2018-11-05 20:19 +0000
Re: DoubleClick et SingleClick Yliur <yliur@free.fr> - 2018-11-05 21:44 +0100
Re: DoubleClick et SingleClick jp <bloiiing@yahoo.invalid> - 2018-11-06 12:29 +0000
Re: DoubleClick et SingleClick David Larochette <david@larochette.me> - 2018-11-07 20:13 +0000
Re: DoubleClick et SingleClick jp <bloiiing@yahoo.invalid> - 2018-11-09 02:06 +0000
csiph-web