区分JTextField

时间:2017-01-02 01:49:41

标签: java swing jtextfield documentlistener

我一直在寻找并且找不到任何解决方案来解决这个问题:我有一个JTextField,当用户在那里粘贴东西时我想做一些事情,我发现了这个:{{ 3}}

哪个工作正常,除了我只想在用户粘贴内容时做事情,而不是在文本字段上写入时,我虽然保存了它的先前值并将其与新的比较,如果它是空的,现在不是,做的事情,但这不起作用,因为当用户在文本字段中键入第一个字母时它将进入该条件。

如果有人知道如何使用documentListener或者任何其他侦听器来处理它,那将会有所帮助。

更新:因为不同的人问过,我想这样做的原因是文本来自条形码阅读器或类似的设备。

2 个答案:

答案 0 :(得分:0)

  

除了我只想在用户粘贴内容时执行操作

为什么要将粘贴的文本与键入的文本区别对待?听起来像是一个设计问题。如果您为doiong指定了更好的理由/要求,我们可以提出更好的解决方案。

  

我想在用户粘贴内容时做一些事情

您可以覆盖paste()的{​​{1}}方法。只需覆盖方法即可调用JTextField,然后添加自定义代码。

  

如何在documentListener

中执行此操作

也许您会认为“粘贴”意味着一次添加多个字符。在这种情况下,您只需测试添加到super.paste()的字符串的长度。

答案 1 :(得分:0)

我能够通过配置我的条形码扫描仪并让它发送一条"新线路来解决我的问题。每次读取后,每次使用JTextField的actionPerformed执行我的代码。感谢所有试图提供帮助的人。