Bonjour
toujours dans l'étude de la page http://java.sun.com/docs/books/tutor...textfield.html
et en particulier du programme http://java.sun.com/docs/books/tutor...InputDemo.java
je trouve une partie du code suivant
Sur chaque composant il a été enrigistré un addFocusListener(this) donc lorsque l'un de ces composants reçoit le focus la méthode
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 /** * Called when one of the fields gets the focus so that * we can select the focused field. */ public void focusGained(FocusEvent e) { Component c = e.getComponent(); if (c instanceof JFormattedTextField) { selectItLater(c); } else if (c instanceof JTextField) { ((JTextField)c).selectAll(); } } //Workaround for formatted text field focus side effects. protected void selectItLater(Component c) { if (c instanceof JFormattedTextField) { final JFormattedTextField ftf = (JFormattedTextField)c; SwingUtilities.invokeLater(new Runnable() { public void run() { ftf.selectAll(); } }); } }
focusGained(FocusEvent e) est appelée pour permettre de sélecter (mettre en surbrillance ) le texte que contient ce composant
Ma question: Pourqoi avoir un tread séparé ( dans la méthode selectItLater(Component c) pour faire cette instruction lorsqu'il s'agit d'un JFormattedTextField
C'est juste pour comprendre le pourqoi de la chose
Merci
Partager