我有兩個JPanel,我想在另一個JPanel中放置一個JPanel。 「panel_controls」重寫.getPreferredSize()。代碼:Java BoxLayout給出不正確的結果
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路線。」
什麼失敗的條件,然後呢?我如何強制它垂直對齊?
感謝,
您不應該重寫「panel_controls」的首選大小。如果您正確使用佈局管理器,佈局管理器將確定首選大小。 – camickr