Je cherche à réaliser un composant "PlusMoins" : un JLabel et 2 JButton
"Plus" et "Moins".
Lorsqu'on clique sur un bouton, on (in|dé)crémente de 1 la valeur
affichée par le JLabel.
Je voudrais implanter de même la gestion d'une "pression continue" sur
le JButton qui (in|dé)crémente le JLabel tant que le bouton est préssé.
Imaginons qu'on teste l'état du bouton toutes les 500 millisecondes.
J'aimerais donc savoir comment détecter l'état du JButton, en
particulier s'il est préssé. Je pensais faire quelque chose comme :
JButton bt = new JButton("+") ;
bt.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
do
{
// Incrémenter la valeur affichée
Thread.sleep(500) ;
}
while(/* bouton enfoncé */) ;
}
}) ;
Il me manque juste le test du while... Si vous avez une idée... Merci
Je cherche à réaliser un composant "PlusMoins" : un JLabel et 2 JButton "Plus" et "Moins".
Tafanor
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le
jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but
pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai
décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Essayer dans un autre Thread ? qqch comme
private boolean down;
...
b.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent ev) { down = true;
new Thread(new Runnable() { public void run() { do { System.out.print("*"); // Incrementer la valeur affichee try { Thread.sleep(500); } catch (InterruptedException ex) {} } while(down); } }).start(); }
public void mouseReleased(MouseEvent ev) { down = false; } });
-- oliv
Tafanor wrote:
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le
jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but
pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai
décrit.
Essayer dans un autre Thread ? qqch comme
private boolean down;
...
b.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent ev) {
down = true;
new Thread(new Runnable() {
public void run() {
do {
System.out.print("*");
// Incrementer la valeur affichee
try {
Thread.sleep(500);
}
catch (InterruptedException ex) {}
}
while(down);
}
}).start();
}
public void mouseReleased(MouseEvent ev) {
down = false;
}
});
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Essayer dans un autre Thread ? qqch comme
private boolean down;
...
b.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent ev) { down = true;
new Thread(new Runnable() { public void run() { do { System.out.print("*"); // Incrementer la valeur affichee try { Thread.sleep(500); } catch (InterruptedException ex) {} } while(down); } }).start(); }
public void mouseReleased(MouseEvent ev) { down = false; } });
-- oliv
Phildes
Pour le principe, je peux conseiller de regarder avec E-Anim : http://www.phildes.com 1 - créer un "bouton-animé" à 3 états 2 - L'état appuyé de ce bouton est une séquence de 500 millisecondes 3 - au bout de ces 500 millisecondes, placer une action "programmée" qui envoie un message à ton prog Java
Donc, tant que ton bouton sera appuyé, un message sera envoyé en boucle tous les 500 millisecondees à ton programme. Ca fonctionne en java 1.1
"Tafanor" a écrit dans le message de news:3fd0761c$0$7162$
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le
jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?
Pour le principe, je peux conseiller de regarder avec E-Anim :
http://www.phildes.com
1 - créer un "bouton-animé" à 3 états
2 - L'état appuyé de ce bouton est une séquence de 500 millisecondes
3 - au bout de ces 500 millisecondes, placer une action "programmée" qui
envoie un message à ton prog Java
Donc, tant que ton bouton sera appuyé, un message sera envoyé en boucle tous
les 500 millisecondees à ton programme.
Ca fonctionne en java 1.1
"Tafanor" <tafanor@nowhere.org> a écrit dans le message de
news:3fd0761c$0$7162$626a54ce@news.free.fr...
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser
le
jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but
pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai
décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?
Pour le principe, je peux conseiller de regarder avec E-Anim : http://www.phildes.com 1 - créer un "bouton-animé" à 3 états 2 - L'état appuyé de ce bouton est une séquence de 500 millisecondes 3 - au bout de ces 500 millisecondes, placer une action "programmée" qui envoie un message à ton prog Java
Donc, tant que ton bouton sera appuyé, un message sera envoyé en boucle tous les 500 millisecondees à ton programme. Ca fonctionne en java 1.1
"Tafanor" a écrit dans le message de news:3fd0761c$0$7162$
Je connais cette classe. Le problème c'est qu'on m'impose d'utiliser le
jdk 1.3... Donc pas de JSpinner possible. Ma question est aussi à but pédagogique : j'aimerais bien savoir réaliser le composant que je vous ai décrit.
Tafanor
Question bête : Pourquoi tu utilises pas un JSPinner ?