2015-02-06 64 views
0

我有很多帶有幾個組件的JFrame。它們通常是動態構建的,所有組件都是動態添加的,但有些是手動構建的。關於當前重點組件的輸出信息

我想要的: 我想添加一個新組件,比如只讀的JTextField,它在JFrame中打印當前關注組件的信息。目的是通過一種非常簡單的方式來查看每個組件從哪裏獲取數據(它們通常綁定到來自數據庫的字段或僅返回所需數據的某種方法)以及其他有趣的東西。 讓我們把它稱爲「DebugInfoComponent」。

我目前的想法,我覺得是有點原始的: 我可以「只」將FocusListener添加到每個JFrame的每個組件,然後通知DebugInfoComponent然後調用setText與基於組件的相關信息聚焦。

我的問題: 有沒有更好的方法?

+0

參見[多個JFrames,好/壞習慣的用?(http://stackoverflow.com/q/ 9554636/418556) – 2015-02-06 09:36:00

+1

查看['KeyboardFocusManager'](http://docs.oracle.com/javase/7/docs/api/java/awt/KeyboardFocusManager.html) – MadProgrammer 2015-02-06 09:46:00

+0

@MadProgrammer我剛做了一個快速測試,這似乎正是我所期待的 - 謝謝你!關鍵是在focusOwner上添加一個屬性監聽器,這似乎是:-) (作爲回答,我會接受它) – slaursen 2015-02-07 13:24:48

回答

0

使用KeyboardFocusManger,您可以使用它的屬性更改支持來監視對應用程序焦點狀態的更改。

你可能想監視focusOwner屬性,但您應該調查的其他屬性以及

+0

它的工作原理完美,謝謝你:-) – slaursen 2015-02-08 21:08:40