0

我有一个 JTextField,我希望系统在用户离开文本字段时对用户键入的内容进行一些处理。但是,您可以仅添加到 JTextField 的 ActionListener 仅在用户按下 Enter 时触发。

我希望每当用户以任何方式离开文本框时运行处理例程 - 选项卡,点击它,按 Enter 等。(有问题的处理是将用户键入的文本保存到适当的数据对象, 没有什么花哨。)

我的 google-fu 在这方面失败了:我相信这是可能的,我只是不知道怎么做。

4

2 回答 2

6

添加一个FocusListener.

值得注意的是,这是一个比较底层的监听器。JComboBox除非您找到特定 PL&F 插入的文本字段(可能还有按钮),否则它不会起作用。Swing 的方式有点奇怪(在许多其他方式中)。

尽管为了我的钱,当焦点离开一个领域时发生的非修饰性变化会给用户体验带来糟糕的体验。使用文本字段文档上的侦听器对每次更改进行任何相关更改要好得多。

于 2009-10-05T23:52:00.193 回答
0

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

如果您想将文本验证为一个完整的实体,那么您可以使用 InputVerifier。

于 2009-10-05T23:59:58.720 回答