【发布时间】:2014-09-16 10:17:06
【问题描述】:
我面临的奇怪问题 基本上我有 2 个文本区域...(显示框和文本框)
在文本框中键入时,按下“Enter”的那一刻,我希望在文本框中输入的所有文本都转到显示框...并且文本框应该为空... 一切正常,除了...
文本传输后,文本框的光标位置不在最左上角...它在下面的一行以某种方式闪烁!(可能是因为“ENTER”仍然被执行)...请参阅代码 有什么想法吗?
提前谢谢...只需要光标回到最左上角,就像我们开始打字时一样...无需使用 KeyReleased 事件...感觉不对...我确定他是不是真的做到了..怎么说?
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ENTER)// | (e.getKeyCode() == KeyEvent.VK_B))
{ //Toolkit.getDefaultToolkit().beep();
displaybox.append(textbox.getText() + "\n");
//textbox.setCaretPosition(0);
//textbox.setText("");
System.out.println(textbox.getCaretPosition());
}
}
public void keyTyped(KeyEvent e)
{}
public void keyReleased(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ENTER)
{textbox.setCaretPosition(0);
textbox.setText("");
System.out.println(textbox.getCaretPosition());
}
}
【问题讨论】:
标签: java swing jtextarea keylistener key-bindings