2016-09-23 36 views
0

我有兩個JPanels添加到一個FrameBorderLayout。這就是我想要的: enter image description here在一個BorderLayout中定位JPanel

這是我有: enter image description here

我無法弄清楚如何定位按鈕和JPanels ...這是我的代碼:

mainPanel=new JPanel(new BorderLayout()); 
topPanel=new JPanel(); 
bottPanel=new JPanel(new BorderLayout()); 
bottPanel.add(importButton,BorderLayout.WEST); 
bottPanel.add(convertButton,BorderLayout.EAST); 

this.add(bottPanel,BorderLayout.SOUTH); 
this.add(topPanel,BorderLayout.NORTH); 
this.setVisible(true); 
+0

如果您在'BorderLayout.CENTER'而不是'BorderLayout.NORTH'上添加'topPanel',會怎麼樣? – khelwood

+0

沒有任何變化 –

+0

爲什麼你的代碼有一個「mainPanel」聲明。你從不向面板添加任何東西。根據您的代碼,兩個按鈕應顯示在框架的左側/右側,但頂部面板爲空,因此沒有任何顯示,因此按鈕將顯示在框架的頂部。發佈一個合適的[SSCCE](http://sscce.org/)來說明問題。基於不完整的代碼,我們無法猜測您做錯了什麼。我們需要知道代碼被調用的上下文。 – camickr

回答

0

你應該用一些事情來填充主面板,否則它只會顯示你在這種情況下避開的元素,即BorderLayout.CENTER部分。

https://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html http://www.wideskills.com/java-tutorial/java-borderlayout-class-example

它只是玩!

我曾經玩過背景色,以瞭解它在學習時的表現。

+0

你是什麼意思「填補主面板與事端」? –

+0

如果BorderLayout.CENTER部分中沒有任何內容,則不會顯示(整個部分可以避免)。嘗試添加一個按鈕或任何其他元素。 – Zokorotroko

+0

但是如果我只想使用這些組件,該怎麼辦? –