2016-11-24 4 views
0

Y a-t-il un événement sur la façon de compter le caractère saisi dans un JTextField?Comment obtenir le nombre de caractères dans un JTextField?

+2

Qu'entendez-vous par "nombre de chaînes"? Voulez-vous dire combien de mots différents il y a? –

+0

S'il vous plaît fournir une partie de votre code! Qu'avez-vous essayé? Nous ne pouvons pas vous aider si nous ne savons pas exactement quel est votre problème. Si vous ne savez pas comment poser correctement, s'il vous plaît se référer à [ce lien] (http://stackoverflow.com/help/how-to-ask) –

+0

Il y aura une chaîne, et une chaîne seulement. – GhostCat

Répondre

5

Vous pouvez utiliser la méthode getText() héritée de JTextComponent pour récupérer la valeur de chaîne actuelle de votre champ (en fonction de votre contexte, préparez-vous à NullPointerExceptions).

Et puis vous pouvez demander cette chaîne pour le nombre de caractères; en utilisant String.length() pour renvoyer le nombre de points de code Unicode dans cette chaîne.

Si vous êtes intéressé par le comptage mots dans cette chaîne, vous pouvez utiliser String.split() afin d'avoir qu'une chaîne coupé en tranches dans un tableau de sous-éléments de celui-ci (par exemple en utilisant « » comme argument, ou « \ s + "qui divise n'importe quel caractère générique).

2

Pour obtenir le texte de votre champ de texte, appelez le getText() dessus. Cela vous donnera un objet String avec le texte du champ de texte. À partir de là, si vous souhaitez obtenir le nombre de caractères dans votre champ de texte, vous pouvez appeler la méthode length() sur la chaîne à partir du champ de texte. string.length();.

Si vous voulez le nombre de mots, utilisez string.split(" ").length;, où string est la chaîne de votre objet de champ de texte. Cela va diviser la chaîne en un tableau de chaînes avec chaque nouveau mot en tant qu'élément de la chaîne, puis compter combien d'éléments il y a.

2
 String s = " "; 
     char c = s.charAt(0); 
public static int countOccurrences(String haystack, char c) 
     { 
      int count = 1; 
      for (int i=0; i < haystack.length(); i++) 
      { 
       if (haystack.charAt(i) == c) 
       { 
        count++; 
       } 
      } 
      return count; 
     }