1
|
Alex B · 技术社区 · 14 年前 |
1
4
问题是“hit Tab”和“hit Enter”在JavaSwing中的含义是不同的。但这两个动作对你、我和用户来说都是一样的。 Swing没有单一的机制来检测“当用户输入完数据时”。相反,Swing关注的是“这个字段是否失去键盘焦点”和“用户在字段内按Enter键时”。
有一个解决办法 在类似的上下文(JTextField而不是JComboBox)中,Sun/Oracle Java Tutorial InputVerificationDemo 其中创建了一个类:
这种解决方法的好处是,您可以在一个地方找到所有的处理代码。缺点是,您仍然有以下麻烦:
|
2
1
这是预期的行为
|
3
1
在ActionListener中,您可以尝试调用transferFocus()方法,该方法应等同于对文本字段进行制表。如果这不起作用,那么actionListener应该调用与InputVerifier相同的编辑代码。 |
CN1002 · 创建JTextField输入验证器 9 年前 |