Bonjour,
J'ai juste une petite question d'esthétisme :
Je voulais faire un cadre clignotant autour d'un bouton. N'étant pas trop habitué à faire des animations, j'ai bricolé un truc :Je n'utilise pas stop() d'une part parce que l'instruction est dépréciée et d'autre part afin de m'assurer de l'état final de la bordure.
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 private class Blinking extends Thread { private boolean continuer=true; @Override public void run() { while(continuer) { monBouton.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.red, Color.red.brighter())); try { Thread.sleep(500); } catch (InterruptedException ex) { Logger.getLogger(Loading.class.getName()).log(Level.SEVERE, null, ex); } monBouton.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED, ColorManager.transparent(), ColorManager.transparent())); try { Thread.sleep(500); } catch (InterruptedException ex) { Logger.getLogger(Loading.class.getName()).log(Level.SEVERE, null, ex); } } } public void arreter() {continuer=false;} }
Questions :
- Est-ce que vous pensez que c'est un bonne façon de procéder ? Y a-t-il une façon plus conventionnelle ou plus propre ?
- NetBeans me met un Hint sur le "Thread.sleep(..);". Il y a une meilleure façon de faire ?
Merci
Partager