当我在JTextArea中输入时,我想使用Key Listener来监听,但它无法正常工作

时间:2014-09-19 15:50:07

标签: java swing jtextarea keylistener

我在我的班级SetUp中使用这一行创建了一个带有新Key Listener的JTextArea:

startWin来自我的Window类,text是该类中的JTextArea对象

StrToInt是一种在不使用解析方法

的情况下将字符串转换为int的方法
        startWin.text.addKeyListener(new KeyListener() {

        int s;
        @Override
        public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub

        }

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

        }

        @Override
        public void keyTyped(KeyEvent e) {

            if(e.getKeyCode() == KeyEvent.VK_ENTER){
            start = setup.StrToInt(startWin.text.getText()); //start is static
        }

        }
    });
    s = start;
    return s;

我的目标是在文本中输入一个值,然后按回车键将其返回并存储起来。

然而,当我这样做时:

public void Maze(Window w) {
    int start = 0;

    w = setup.StartWindow(w);
    while (start == 0) {
        start = setup.Start(w);
    }
}

我收到运行时错误。我究竟做错了什么?感谢

1 个答案:

答案 0 :(得分:0)

我看了看你的“int s”有一个问题。 (之前的方法之外)

  int s;
  startWin.text.addKeyListener(new KeyListener() {


    @Override
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub

    }

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

    }

    @Override
    public void keyTyped(KeyEvent e) {

        if(e.getKeyCode() == KeyEvent.VK_ENTER){
        start = setup.StrToInt(startWin.text.getText()); //start is static
        s = start;
    }

    }
});
  return s;