Cela fait trop longtemps que je me bats avec ça. Quand j'ai fini de taper un jTextField, je veux qu'il perde le focus quand je clique sur la fenêtre en dehors du champ de texte. Je n'arrive pas à comprendre comment faire ça. Le mieux que je puisse faire est de transférer l'attention vers le champ de texte suivant.Je veux que jTextField perde le focus quand je clique sur la fenêtre principale
2
A
Répondre
2
Pourquoi voulez-vous perdre le focus? Je suis sûr qu'il y a une meilleure conception que de forcer l'utilisateur à cliquer sur la fenêtre pour que le champ de texte perd son focus. Quoi qu'il en soit, le champ de texte perd le focus lorsqu'un autre composant obtient le focus. Par défaut, un panneau ne peut pas être mis en évidence. Par conséquent, cliquer dessus ne provoque pas la perte de focus du champ de texte. Faire le panneau focalisable:
panel.setFocusable(true);
Bien sûr, maintenant lorsque l'utilisateur utilise la touche de tabulation, le panneau sera maintenant inclus dans l'ordre de tabulation. C'est une autre raison que cela semble être un mauvais design.
0
Tenez compte de votre classe extends JFrame:
JTextField jTextField1 = new JTextField();
addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTextField1.setFocusable(false);
}
});
espoir cette aide ...
Questions connexes
- 1. Je perds le focus de la page principale
- 2. quand je clique sur le lecteur shoing opwn avec la boîte de dialogue de la fenêtre
- 3. Lorsque l'utilisateur clique sur un bouton, je veux que tous les autres boutons soient désactivés
- 4. Empêcher le changement de focus sur la fenêtre
- 5. Le fil ne s'arrêtera pas quand je le veux? (Java)
- 6. Comment changer la fonction appelée quand je clique dans le bouton de fermeture sur php-gtk?
- 7. Comment ouvrir Windows Explorer quand je clique sur un bouton?
- 8. asp.net mvc ajax rafraîchir quand je clique sur une étiquette
- 9. jquery exécute la fonction déclarée sans que je clique sur
- 10. quand je clique sur cette zone de texte, elle devient grande mais quand je clique loin comment puis-je la faire revenir à la normale?
- 11. window.print() rafraichit page iframe quand je clique sur Annuler
- 12. WPF Reset Focus sur le bouton Cliquez sur
- 13. Je veux qt fenêtre pour redimensionner proportionnelle
- 14. Comment démarrer un NSTimer quand je clique sur un bouton?
- 15. Infinite avertissements GTK quand je clique droit sur l'icône
- 16. Modifier Alpha sur la fenêtre principale - Cocoa
- 17. listview.selectionchanged, puis-je le déclencher à chaque fois que je clique sur un élément?
- 18. Comment puis-je obtenir le type que je veux?
- 19. Que se passe-t-il quand je clique sur stop dans un programme de cacao?
- 20. Comment est-ce que je garde Visual Studio d'autoraising, quand j'accepte "Focus suit la souris"?
- 21. Je veux ouvrir la page html comme fenêtre pop-up dans ma page html quand j'appuyez sur le bouton
- 22. Débarrassez-vous du focus rect sur un NSCell. N'apparaît que lorsque je clique avec le bouton droit
- 23. Je veux détecter lorsque l'utilisateur ferme la fenêtre du navigateur?
- 24. Restaurer le focus de la fenêtre sur le précédent propriétaire
- 25. L'application perd le focus Masquer la fenêtre
- 26. Je veux changer de combobox quand la souris est dessus ou quand ce n'est pas
- 27. Comment simuler un clic pour que l'entrée courante perde son focus avec JavaScript
- 28. J'ouvre la fenêtre de processus à partir de la fenêtre principale, je veux être mis au point également à partir du cadre principal
- 29. Jquery popup quand on clique sur le lien mailto
- 30. Appel drawRect quand je clique sur le bouton dans l'objectif c?
Je n'arrive pas à comprendre comment faire cela dans netbeans. J'ai la propriété focusable vérifiée, mais cela ne semble pas faire quoi que ce soit. Je peux essayer d'insérer le code après la création du panneau. Je veux obtenir le focus hors du champ de texte b/c après l'avoir édité, je veux pouvoir utiliser mon raccourci clavier "p" pour activer un bouton. Je suppose que je peux donner le focus au bouton quand tout le reste perd son focus. –
Désolé, setFocusable() ne fonctionne que lorsque l'on passe d'un composant à un autre. Si vous utilisez la souris, vous devez ajouter un MouseListener au panneau, puis utiliser la méthode requestFocusInWindow() pour donner le focus au panneau. Maintenant, vous commencez à voir pourquoi "Alt-P" est l'approche standard pour invoquer un bouton sur le cadre. Vous ne forcez pas l'utilisateur à prendre cette étape supplémentaire de suppression du focus du champ de texte. Des entreprises comme MS ont dépensé beaucoup d'argent pour développer des interfaces graphiques viables. Chaque fois que vous quittez le design normal, vous aurez une interface utilisateur compliquée qu'un utilisateur doit apprendre. Rester simple. – camickr