2014-10-06 47 views
0

如何獲取對JInternalFrame實例右上角的按鈕的引用,例如關閉按鈕或最大化按鈕?我想在它們上調用setName。獲取JInternalFrame右上角的按鈕

+1

你打算在setName後做什麼?你的最終目標是什麼? – splungebob 2014-10-06 18:19:41

+0

我正在使用按名稱標識組件的第三方工具。通過調用setName,我可以使用此工具來唯一標識組件。 – Aura 2014-10-06 19:08:25

回答

3

您可以嘗試使用Swing Utils,這將允許您返回由內部框架中使用的所有按鈕:

List<JButton> buttons = SwingUtils.getDescendantsOfType(JButton.class, frame); 

,或者你可以指定你想要的按鈕的工具提示拿到按鈕單獨訪問:

JButton button = SwingUtils.getDescendantOfType(JButton.class, frame, "ToolTipText", "Close"); 
+0

+1使用工具提示作爲標識符。我沒有權限訪問你發佈的SwingUtils,所以手工做到這一點我被3個引用卡住了'javax.swing.plaf.basic.BasicInternalFrameTitlePane $ NoFocusButton',不知道哪個是哪個。 – splungebob 2014-10-06 19:31:30

+0

@splungebob,'SwingUtils'類可以在我提供的鏈接中找到。 '用手去做我被3個引用卡住了 - 如果你有引用,那麼你可以把它投到JButton並手動調用'getToolTipText(...)'來獲取文本,然後根據工具提示的價值。 – camickr 2014-10-06 20:01:56

+0

我可以進入tips4java網站,但代碼是在camick.com上進行託管的,在工作時這裏被阻止。 – splungebob 2014-10-06 20:11:43

相關問題