在Java中,有没有一种不按enter键就可以从键盘上获取字符的简单方法?

在Java中,有没有一种不按enter键就可以从键盘上获取字符的简单方法?,java,get,character,jtextfield,Java,Get,Character,Jtextfield,我想知道是否有一种简单的方法可以在Java中从JTextField中获取字符输入,而不是在按enter键之后 在我的例子中,我希望读取字符文本,当按下回车键时,对已经收集的字符进行处理。尝试在JTextField上添加a尝试在JTextField上添加a,同时有办法监听按键事件,似乎对于要执行的任务,您应该等待enter键敲击,然后参考jtextfield的值执行您需要执行的操作。jtextfield已经在读取用户输入的字符,您不需要自定义处理程序来复制它,除非您真的想逐字读取,并包含非文本字符

我想知道是否有一种简单的方法可以在Java中从JTextField中获取字符输入,而不是在按enter键之后


在我的例子中,我希望读取字符文本,当按下回车键时,对已经收集的字符进行处理。

尝试在JTextField上添加a

尝试在JTextField上添加a

,同时有办法监听按键事件,似乎对于要执行的任务,您应该等待enter键敲击,然后参考jtextfield的值执行您需要执行的操作。jtextfield已经在读取用户输入的字符,您不需要自定义处理程序来复制它,除非您真的想逐字读取,并包含非文本字符,即heg[backspace]llo[enter]在某种程度上与hello[enter]的处理方式不同。

尽管有办法监听按键事件,似乎对于要执行的任务,您应该等待enter键敲击,然后参考jtextfield的值执行您需要执行的操作。jtextfield已经在读取用户输入的字符,除非您真的想逐字读取,并且包含非文本字符,否则不需要自定义处理程序来复制它,例如heg[backspace]llo[enter]与hello[enter]的处理方式有所不同.

您可以将DocumentListener添加到JTextField的文档中,即

textField.getDocument().addDocumentListener(...);

您可以将DocumentListener添加到JTextField的文档中,即

textField.getDocument().addDocumentListener(...);

用户是否允许粘贴文本?他们可以右键单击并选择粘贴吗


如果是这样,KeyListeners将无法工作,您将需要DocumentListeners。

用户是否允许粘贴文本?他们可以右键单击并选择粘贴吗


如果是这样,KeyListeners将无法工作,您将需要DocumentListeners。

谢谢Kevin,我会看一看。谢谢Kevin,我会看一看。是否无法通过定义范围或给定一些预定义常量作为参数来排除控制字符?我看过一个击键类,但它似乎更旨在控制游戏等,但据我所知,您可以注册您感兴趣的键。但我只是简单地看了一下。布赖恩有到目前为止最好的答案。无论如何,控制字符不会出现在文本字段的文本字符串中,这里的文本很好。不,您不能注册单个字符。不过,您应该做的是注册一个keyListener,以便在ENTER发生时处理它。然后,您将需要切换到下一个字段或其他内容。是否无法通过定义范围或给定某个预定义常量作为参数来排除控制字符?我看过一个击键类,但它似乎更旨在控制游戏等,但据我所知,您可以注册您感兴趣的键。但我只是简单地看了一下。布赖恩有到目前为止最好的答案。无论如何,控制字符不会出现在文本字段的文本字符串中,这里的文本很好。不,您不能注册单个字符。不过,您应该做的是注册一个keyListener,以便在ENTER发生时处理它。你会想换到下一个领域或者别的什么。嗯,很有趣,我没想过。嗯,很有趣,我没想过。