编译器无法找到将KeyListener添加到我的类的方法

时间:2015-05-06 04:35:22

标签: java keylistener

我是Java的新手。

这是教科书中的一些代码,我在addKeyListener(this)行和text.addKeyListener(this)行上有错误:

  

对于JUpsideDown类型,未定义方法addkeyListener(JUpsideDown)。

import java.awt.GridLayout;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class JUpsideDown extends JFrame implements KeyListener {

    private JLabel lblNewLabel = new JLabel("Flipping text");
    private JLabel lblNewLabel1 = new JLabel();
    private JTextField text = new JTextField(20);

    public JUpsideDown() {

        setTitle("Flipping text");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new GridLayout(3,1));
        lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
        add(lblNewLabel);
        add(text);
        add(lblNewLabel1);
        addkeyListener(this);
        text.addkeyListener(this);
    }
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub

    }
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }
    public void keyTyped(KeyEvent e) {
        char c = e.getKeyChar();
        lblNewLabel1.setText("Last Key: " + c);
    }

    public static void main(String[] args) {
        JUpsideDown test = new JUpsideDown();
        test.setSize(500,500);
        test.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:1)

addkeyListener重命名为addKeyListener(使用大写字母K)。在您的介绍中,您正确地编写了它,但在代码中它拼写错误。由于方法名称区分大小写,因此编译器在尝试调用它的组件中找不到方法addkeyListener,并给出了相应的编译错误。