Java 当我在JTextArea中按enter键时,我想使用Key Listener来监听,但它不起作用
在我的类设置中,我用一个新的键侦听器创建了一个JTextArea: startWin来自我的Window类,text是该类中的JTextArea对象 stroint是一种不使用解析方法将字符串转换为int的方法Java 当我在JTextArea中按enter键时,我想使用Key Listener来监听,但它不起作用,java,swing,jtextarea,keylistener,Java,Swing,Jtextarea,Keylistener,在我的类设置中,我用一个新的键侦听器创建了一个JTextArea: startWin来自我的Window类,text是该类中的JTextArea对象 stroint是一种不使用解析方法将字符串转换为int的方法 startWin.text.addKeyListener(new KeyListener() { int s; @Override public void keyPressed(KeyEvent e) {
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;
我的目标是在文本中输入一个值,然后按enter键返回该值并将其存储到start
但当我这样做的时候:
public void Maze(Window w) {
int start = 0;
w = setup.StartWindow(w);
while (start == 0) {
start = setup.Start(w);
}
}
我得到一个运行时错误。我做错了什么?谢谢我看了看,发现你的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;
错误是什么?另外,设置的类型是什么?如果不允许用户按enter键,为什么要使用JTextArea?如果只需要一行输入,请使用JTextField。在这种情况下,您可以将ActionListener附加到它,当按enter键时将触发它。