我有很多带有几个组件的JFrame。它们通常是动态构建的,所有组件也是动态添加的,但有些是手动构建的。
我想要: 我想添加一个新组件,比如一个只读的JTextField,它打印有关JFrame中当前焦点组件的信息。目的是有一个非常简单的方法来查看每个组件从哪里获取数据(它们通常绑定到数据库中的字段或者只是返回所需数据的方法)和其他有趣的东西。 我们将其称为“DebugInfoComponent”。
我目前的想法,我觉得有点原始: 我可以“只”向每个JFrame的每个组件添加一个FocusListener,然后通知DebugInfoComponent,然后DebugInfoComponent根据被聚焦的组件调用setText和相关信息。
我的问题: 还有更好的方法吗?
答案 0 :(得分:0)
使用KeyboardFocusManger
,您可以使用它的属性更改支持来监控对应用程序焦点状态的更改。
您可能希望监控focusOwner
属性,但您也应该调查其他属性