当用户离开JTextBox时,如何触发操作?

时间:2009-10-05 23:48:04

标签: java swing events jtextfield

我有一个JTextField,我希望系统能够在用户离开文本字段时对用户输入的内容进行一些处理。但是,只能在用户按下回车时才能激活只能添加到JTextField的ActionListener。

我希望每当用户以任何方式离开文本框时运行处理例程 - 标签,点击它,按回车等等。(有问题的处理是将用户输入的文本保存到适当的数据对象,没什么特别的。)

我的google-fu在这个问题上失败了:我有信心这是可能的,我只是看不出来。

2 个答案:

答案 0 :(得分:6)

Add a FocusListener

值得注意的是,这是一个相对低级别的倾听者。在JComboBox上,除非找到特定PL& F插入的文本字段(可能是按钮),否则它不会工作。 Swing有点奇怪(在许多其他方面)。

虽然对于我的钱,当焦点离开场时发生的非美容变化会给用户带来糟糕的体验。使用文本字段文档中的监听器对每个更改进行任何相关更改会更好。

答案 1 :(得分:0)

如果要在键入文本时编辑文本,则应使用DocumentFilter。

如果要将文本验证为完整实体,则可以使用InputVerifier。