2014-05-07 2 views
1

Je veux créer un PaliodromeChecker mais il y a une erreur surErreur: « Impossible de trouver le symbole - longueur de la méthode() » lorsqu'elle est appliquée sur JTextField

int length = txtInput.length(); 

En public void actionPerformed(ActionEvent e). L'erreur est

cannot find symbol - method length()

Ai-je fait une erreur avec le code?

public class checker extends JFrame implements ActionListener { 

private JButton btnCheck; 
private JLabel lblInput, lblOutput; 
private JTextField txtInput; 

public Q4() { 
    Container c = getContentPane(); 
    c.setLayout(new GridLayout(3,1)); 
    JPanel p1 = new JPanel(); 
    JPanel p2 = new JPanel(); 
    JPanel p3 = new JPanel(); 
    lblInput = new JLabel("Enter a word:"); 
    lblOutput = new JLabel("Welcome to check palindrome"); 
    btnCheck = new JButton("Check Palindrome"); 

    txtInput = new JTextField(15); 
    p1.add(lblInput); 
    p1.add(txtInput); 
    p2.add(btnCheck); 
    p3.add(lblOutput); 
    c.add(p1); 
    c.add(p2); 
    c.add(p3); 
    btnCheck.addActionListener(this); 

} 


    public void actionPerformed(ActionEvent e){ 
    int length = txtInput.length(); 
    String reverse = ""; 
    for (int i = length - 1 ; i >= 0 ; i--) 
    reverse = reverse + txtInput.charAt(i); 

    if(txtInput.equals(reverse)) 
    lblOutput.setText(txtInput.getText() + "is paliodrome"); 
    else 
     lblOutput.setText(txtInput.getText() + "is not paliodrome"); 
    } 


public static void main(String[] args){ 
    Q4 myGUI = new Q4(); 
    myGUI.setTitle("PaliodromeChecker"); 
    myGUI.setSize(350,150); 
    myGUI.setVisible(true); 
} 
+2

Je ne l'ai jamais fait quoi que ce soit graphique en Java, mais il semble que [JTextField] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html) n'a pas de méthode appelée 'longueur', tout comme l'erreur. Vous devriez apprendre à utiliser la documentation. – keyser

+0

merci d'utiliser int longueur = txtInput.getText(). Length(); ça a marché – user5000

Répondre

0

Vous voulez faire:

int length = txtInput.getText().length(); 

Lorsque vous avez un problème comme ça, la meilleure chose que vous pouvez faire est de visiter les docs, voir JTextField et vous conclurez qu'il n'y a pas une telle méthode length() qui peut être appliquée sur objet de type JTextField.

Mais vous remarquerez qu'il existe une méthode appelée getText() qui obtient le texte dans le composant, il renvoie un String, alors vous pouvez avoir la méthode length() connue pour String.

0

Utilisez int length = txtInput.getText().length();

En cas de doute, lisez le API Documentation

0

Le champ référence (txtInput) est un JTextField, qui n'a pas de méthode length() - c'est un widdget à l'écran, qu'est-ce que vous vous attendez?

On dirait que vous voulez obtenir son texte ...

0

Essayez ceci: txtInput.getText().length()

0

Est-ce comme suit

int length = txtInput.getText().length(); 
0

Vous ne pouvez pas calculer la longueur sur JTextField utiliser à la place getText sur JTextField, puis calculer la longueur.

0

longueur int = txtInput.getText() Longueur()

Apprenez à utiliser votre apidocs ...;.)

Questions connexes