我有一个条形码,上面写着: “序列号ALT09产品编号” 其中 ALT09 = Tab。
我将数字读入 JTextArea
,如果我用键盘上的 Tab 键手动输入数字,我会得到一个有效的输入,然后我可以 text.trim().split ("\t");
获取有效输入以获取相应的序列号和产品编号。但是当读取发送ALT09的条码时,它什么也读不到。
如何让 JTextArea
接受 ALT09 作为 Tab(或作为位置的替代拆分)。
最佳答案
JTextArea 根本没有获取 Tab。 Tab 被整个 GUI 界面打断以切换到下一个可编辑字段。当然你可以改变这个规则,拦截父容器上的 Tab 并强制它将它发送到子 JTextArea 然后你甚至可以为 KeyPressed 事件编写你的 won 方法并将 Tab 字符插入文本但这是一个很好的方法,因为它改变了用户经验。用户希望 Tab 转到下一个字段,但是对于这个特定的文本区域,您说它应该是文本的分隔符?另一个原因 - Tab 与 Space 类似 - 因此在用户体验中不清楚输入是否正确。
要避免所有这些麻烦,为什么不采取简单的方法:
SerialNumber=ProductNumber
它清晰、可见、可预测、可理解,最重要的是 - 不需要您的问题 ;)
关于java - 阅读替代代码 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119468/