我需要在Swing中选择一个标准容器(JPanel?),可以将其用作占位符,并向其中添加另一个扩展JPanel的自定义组件:

JPanel containerPanel;
// built by a library from a text file, automatically part of a nice layout
MyPanel componentPanel;
// something complicated that I can't integrate with the builder library

containerPanel = builder.getMyContainerPanel();
componentPanel = new MyPanel(...);
containerPanel.add(componentPanel);


是否有办法以某种方式将两个面板尺寸结合在一起,以便正确地调整尺寸?我不太确定调整大小如何摆动,但是我想要的是将外部containerPanel用作薄包装纸,从而使我的componentPanel服从于此,并且外部面板将尽可能多的委派给内部面板。

我不想这样做,但是这似乎是将构建器库与自定义组件分离的最佳方法。

最佳答案

我只是使用GridLayout

containerPanel.setLayout(new GridLayout(1, 1));


这样的好处是,您可以仅添加不带任何参数的子面板,并且可以保证使用整个区域:

containerPanel.add(componentPanel);

09-13 05:30