我有两个想要排列的 JPanel,一个在另一个之上,在一个更大的 JPanel 内。“panel_controls”覆盖 .getPreferredSize()。代码:
public final class GUIPanelMain extends JPanel {
//...
private JPanel panel_images;
private JPanel panel_controls;
//...
private void addPanels() {
new BoxLayout(this,BoxLayout.Y_AXIS); //Bleh! Still is horizontal!
this.add(panel_images);
this.add(panel_controls);
}
//...
}
不幸的是,布局无论如何都是水平设置的。只有当我调整 JPanel 的大小时,组件才会全部放在正确的位置(在这种情况下是垂直的)。
我在文档中阅读了以下内容:“BoxLayout 尝试使列中的所有组件与最宽的组件一样宽。如果失败,它将根据它们的 X 对齐方式水平对齐它们”
那么失败的条件是什么呢?如何强制它垂直对齐?
谢谢,