Comment UnFocus un component swing jtextfield
Lors de ma demande de charges, qui est faite à l'aide de netbeans, le premier component swing jtextfield est automatiquement concentré, et dans ce component swing jtextfield, j'ai écrit "Entrez votre nom d'utilisateur", il ira loin lorsque l'utilisateur clique sur ce champ, mais lorsque l'application est chargée, ce champ est concentré, les moyens, je ne vois pas", Entrez votre nom d'utilisateur", comment unfocus au démarrage ?
Il y a 2 JTextFields, d'abord pour le nom d'utilisateur, le second mot de passe, et un JMenuItem appelé Journal de dans le, le moment ou je lance l'application, la première component swing jtextfield est concentré, je ne veux pas que
BTW - si le nom d'utilisateur pour chaque application. l'installation est devrait pour être constant, simplement remplir le champ nom d'utilisateur par défaut & permettre à l'utilisateur de l'onglet à la zone suivante, si elle est correcte. Si c'est garantie pour être constant, de remplir le champ et le désactiver. Il ne sera pas peut recevoir le focus, & l'accent sera d'aller à la 2ème champ par défaut.
BTW - si le nom d'utilisateur pour chaque application. l'installation est devrait pour être constant, simplement remplir le champ nom d'utilisateur par défaut & permettre à l'utilisateur de l'onglet à la zone suivante, si elle est correcte. Si c'est garantie pour être constant, de remplir le champ et le désactiver. Il ne sera pas peut recevoir le focus, & l'accent sera d'aller à la 2ème champ par défaut.
OriginalL'auteur Ali Bassam | 2012-05-27
Vous devez vous connecter pour publier un commentaire.
Un journal serait mieux de le faire dans une boîte de dialogue modale, mais qui présente des problèmes en ce que la méthode
requestFocusInWindow()
doit être appelée après le composant est visible, mais qui est bloqué par le fait que le dialogue est modale!Cet exemple utilise Rob Camick de
RequestFocusListener
(tel que présenté dans Dialogue Focus) pour gérer le focus après la boîte de dialogue est visible.Remarque: C'est la façon dont elle apparaît avant que l'utilisateur ne fait rien. Le champ mot de passe est centré par défaut.
C'est une tout autre question qui devrait être posée sur une question distincte.
OriginalL'auteur Andrew Thompson
Utilisation
requestFocusInWindow()
pour définir le focus sur un autre composant, plutôt que de votreJTextfield
premier.Mais je suggère de de ne pas altérer le natif du système de mise au point, plutôt
setText(String s)
sur leJTextField
aprèsinitComponents()
appel dans leconstructor
(supposé être dans netbeans).D'autres possibilités de lecture: Comment Utiliser le sous-système de l'Accent
Essayez-vous
nextFocusableComponent
propriété dans propriété de NetBeans éditeur pour votreJMenuItem
?J'ai corrigé, j'ai utilisé ur code deux fois, au démarrage, et quand je clique sur le Jmenuitem, merci
votre accueil 🙂
OriginalL'auteur Asif
Je pense que donner le focus du clavier pour le champ nom d'utilisateur est le comportement correct, en supposant que c'est ce que l'utilisateur doit faire en premier. Au lieu de la compensation sur l'accent, pourquoi ne pas effacer seulement après que l'utilisateur tape quelque chose?:
Si vraiment vous voulez juste pour supprimer le focus, certaines options:
component.setFocusable(false);
KeyboardFocusManager.getCurrentKeyboardFocusManager().focusNextComponent();
KeyboardFocusManager.getCurrentKeyboardFocusManager().clearGlobalFocusOwner();
OriginalL'auteur Peter Tseng
Si, et seulement si, textField avait le focus, l'élément suivant dans l'ONGLET-ordre ordre obtiendrez automatiquement. L'effet est le même que d'un ONGLET de presse.
(pas testé dans une interface graphique, avec un seul élément 🙂 )
OriginalL'auteur Mark Jeronimus