Java 如何获取JFrame中位于特定布局位置的组件
我有一个Java 如何获取JFrame中位于特定布局位置的组件,java,swing,layout,jframe,border-layout,Java,Swing,Layout,Jframe,Border Layout,我有一个JFrame,它使用BorderLayout。如何获取此JFrame左侧、右侧或任何其他位置的所有组件?正如@brano所建议的,您可以通过JFrame的contentPane的LayoutManager访问这些组件 例如,假设您希望获取位于BorderLayout.WEST上的组件(并且您的JFrame称为frame),您可以执行以下操作: final BorderLayout layout = (BorderLayout) frame.getContentPane().getLayo
JFrame
,它使用BorderLayout
。如何获取此JFrame
左侧、右侧或任何其他位置的所有组件?正如@brano所建议的,您可以通过JFrame
的contentPane
的LayoutManager
访问这些组件
例如,假设您希望获取位于BorderLayout.WEST
上的组件(并且您的JFrame
称为frame
),您可以执行以下操作:
final BorderLayout layout = (BorderLayout) frame.getContentPane().getLayout();
final Component west = layout.getLayoutComponent(BorderLayout.WEST);
不过有一点值得注意:
getLayoutComponent
方法不属于LayoutManager
:因此,您必须知道并确保您的布局是@brano建议的实际的边界布局,您可以通过JFrame
的contentPane
的LayoutManager
访问这些组件
例如,假设您希望获取位于BorderLayout.WEST
上的组件(并且您的JFrame
称为frame
),您可以执行以下操作:
final BorderLayout layout = (BorderLayout) frame.getContentPane().getLayout();
final Component west = layout.getLayoutComponent(BorderLayout.WEST);
不过有一点值得注意:getLayoutComponent
方法不属于LayoutManager
:因此,您必须知道并确保您的layout
是一个实际的BorderLayout,这应该可以解决您的问题:@YankiTwizzy在问题解决后不要忘记;)这应该可以解决您的问题:@YankiTwizzy一旦您的问题得到解决,请不要忘记;)