输出有关当前关注组件的信息

时间:2015-02-06 09:18:32

标签: java swing focus components

我有很多带有几个组件的JFrame。它们通常是动态构建的,所有组件也是动态添加的,但有些是手动构建的。

我想要: 我想添加一个新组件,比如一个只读的JTextField,它打印有关JFrame中当前焦点组件的信息。目的是有一个非常简单的方法来查看每个组件从哪里获取数据(它们通常绑定到数据库中的字段或者只是返回所需数据的方法)和其他有趣的东西。 我们将其称为“DebugInfoComponent”。

我目前的想法,我觉得有点原始: 我可以“只”向每个JFrame的每个组件添加一个FocusListener,然后通知DebugInfoComponent,然后DebugInfoComponent根据被聚焦的组件调用setText和相关信息。

我的问题: 还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

使用KeyboardFocusManger,您可以使用它的属性更改支持来监控对应用程序焦点状态的更改。

您可能希望监控focusOwner属性,但您也应该调查其他属性