Java - 使用按键操作检查多个 JTextField
我有 3 个 swing 文本字段和一个 swing 按钮。我想要做的是当这 3 个字段都不为空时,将 button.setEnabled() 从 false 更改为 true。我想这并不难,但我只是找不到方法。 在一个文本字段的按键操作上使用 button.setEnabled(true) 很容易,但我如何检查所有这些? 感谢您的回复。
I have 3 swing text fields and a swing button. What i want to do is to change button.setEnabled() from false to true when there is none of those 3 fields blank. I suppose it's not really difficult, but i just can't find a way to do it.
It's easy to have button.setEnabled(true) on keytyped action of one text field, but how do i check all of them?
Thanks for your replies.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您不想只检查键盘输入,因为您还想考虑复制和粘贴输入和删除(停用 JButton)。我会为该字段的所有三个关联文档使用一个 DocumentListener,然后在所有文档都包含文本时将该按钮设置为启用。
例如,
You don't want to check for just keyboard input as you want to also account for copy and paste input and removal (deactivate the JButton). I'd use one DocumentListener for all three of the field's associated Documents and then set the button to enabled if all documents contain text.
For example,
这就是我要做的:
创建一个匿名侦听器,检查字段是否为空并相应地设置按钮状态(例如):
然后将其附加到所有字段:
注意:正如 Eng.Fouad 提到的,KeyListener 不用粘贴火,所以我将其更改为 DocumentListener
This is how I would do it:
Create a single anonymous listener that checks if fields are blank and sets the button state accordingly (eg):
And then attach it to all of the fields:
Note: As Eng.Fouad mentioned, KeyListener does not fire with paste, so I've changed it to a DocumentListener
一种简单的方法:无论您在哪里放置
button.setEnabled(true)
,都可以放置类似的内容One simple way: wherever you would put
button.setEnabled(true)
put something like