如何获取位于 JFrame 中特定布局位置的组件

Posted

技术标签:

【中文标题】如何获取位于 JFrame 中特定布局位置的组件【英文标题】:How do I get thet components that are in a particular layout location in JFrame 【发布时间】:2014-05-21 22:11:35 【问题描述】:

我有一个使用BorderLayoutJFrame。如何获取此JFrame 左侧或右侧或任何其他位置的所有组件?

【问题讨论】:

这应该可以解决您的问题:***.com/questions/759321/… @YankiTwizzy 一旦你的问题得到解决,别忘了mark an answer as accepted ;) 【参考方案1】:

正如@brano 建议的那样,您可以通过JFramecontentPaneLayoutManager 访问这些组件。

例如,假设您想要获取位于BorderLayout.WEST 上的组件(并且您的JFrame 被称为frame),您可以这样做:

final BorderLayout layout = (BorderLayout) frame.getContentPane().getLayout();
final Component west = layout.getLayoutComponent(BorderLayout.WEST);

不过,请注意:getLayoutComponent 方法不属于 LayoutManager:因此,您必须知道并确保您的 layout 是实际的 BorderLayout

【讨论】:

以上是关于如何获取位于 JFrame 中特定布局位置的组件的主要内容,如果未能解决你的问题,请参考以下文章

Java中如何设置在JFrame中控件的位置和大小

java中如果适用了布局管理器,还能再设置按钮等组件的大小和位置了吗?

JAVA中GridLayout的布局问题 如图,如何弄成这样的布局,

Swing用户界面组件

如何在 jFrame 上布局多个面板? (爪哇)

JFrame 移除组件