在Java 的GUI 程式設計中,向JFrame 添加元件時,這一點至關重要了解預設的BorderLayout。當在沒有指定約束的情況下新增元件時,它會自動佔據 BorderLayout 的 CENTER 區域。然而,這個中心區域只能顯示單一元件。
因此,在提供的程式碼片段中,最上面的元件(可能是 JPanel)位於中心,隱藏了其他元件。
要解決此問題並顯示所有組件,將它們添加到 JFrame 時有必要指定適當的約束。 BorderLayout 提供了各種約束,例如 NORTH、SOUTH、EAST、WEST 和 CENTER。
為了立即生效,可以使用以下程式碼:
<code class="java">f.add(top, BorderLayout.PAGE_START); f.add(mid); f.add(bot, BorderLayout.PAGE_END);</code>
透過設定這些約束,頂部面板將佔據頂部位置(PAGE_START),中間面板將填充剩餘空間(無限制),底部面板將放置在底部(PAGE_END).
除了解決約束問題外,還可以考慮一些額外的最佳化:
以上是為什麼我的 JFrame 中只顯示頂部元件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!