2014-10-06 91 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