错误:"找不到符号 - 方法长度()"在JTextField上应用时

时间:2014-05-07 07:50:10

标签: java

我想创建PaliodromeChecker,但

上有错误
int length = txtInput.length(); 

public void actionPerformed(ActionEvent e)。错误是

  

找不到符号 - 方法长度()

我的代码是否有任何问题?

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);
}

7 个答案:

答案 0 :(得分:0)

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

如有疑问,请阅读API Documentation

答案 1 :(得分:0)

您引用的字段(txtInput)是JTextField,没有方法length() - 这是一个屏幕上的widdget,您期望什么?

看起来你想得到它的文字......

答案 2 :(得分:0)

你想这样做:

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

当您遇到类似问题时,您可以做的最好的事情是访问文档,请参阅JTextField,您会得出结论,没有可以应用于<{1}}的方法length()类型JTextField的em> object 。

但是你会注意到存在一个名为getText()的方法来获取组件中的文本,它返回String,然后你就可以使用已知的length()方法{ {1}}。

答案 3 :(得分:0)

请改为:txtInput.getText().length()

答案 4 :(得分:0)

执行以下操作

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

答案 5 :(得分:0)

您无法在JTextField上计算长度 而是在JTextField上使用getText,然后计算长度。

答案 6 :(得分:0)

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

学会使用你的apidocs ......;)