2016-09-23 38 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

但是如果我只想使用这些组件,该怎么办? –