在东部布局中添加2个以上按钮时,只显示1个。我正在尝试测试使用选项卡式窗格的布局。出于某种原因,当我尝试向东部地区添加多个按钮时,它只显示1个按钮。只是这样,显示的按钮是添加到东区的最后一个,其余的被忽略。我想也许他们只是隐藏在最后一个按钮下面。
public void createPage1()
{
{
panel1 = new JPanel();
panel1.setLayout( new BorderLayout() );
panel1.add( new JButton( "North" ), BorderLayout.EAST );
panel1.add( new JButton( "South" ), BorderLayout.EAST );
panel1.add( new JButton( "East" ), BorderLayout.EAST );
panel1.add( new JButton( "West" ), BorderLayout.EAST );
panel1.add( new JButton( "Center" ), BorderLayout.EAST );
}
}
答案 0 :(得分:13)
我不知道,你希望你的UI看起来如何,但是这样试试:
public void createPage1() {
//This will be the main panel.
//We are going to put several buttons only in the "EAST" part of it.
panel1 = new JPanel();
panel1.setLayout( new BorderLayout() );
//We create a sub-panel. Notice, that we don't use any layout-manager,
//Because we want it to use the default FlowLayout
JPanel subPanel = new JPanel();
subPanel.add( new JButton( "1" ));
subPanel.add( new JButton( "2" ));
subPanel.add( new JButton( "3" ));
//Now we simply add it to your main panel.
panel1.add(subPanel, BorderLayout.EAST);
}
答案 1 :(得分:6)
BorderLayout
每个部分只允许一个组件。如果你想保留BorderLayout
,但有2个以上的按钮,我建议先将每个按钮放入JPanel
,然后将JPanel
放入东方广告位。
但是,可能有更好的布局选择。您还提到了标签,其中已有JTabbedPane
。
查看不同的LayoutManagers
,并尝试确定哪一个适合您。
答案 2 :(得分:4)
1。 BorderLayout
,它有东,西,北,南和中心区域,其中有哪个中心如果未提及定位,则为默认值。
2。现在每个部分/区域只能容纳一个小部件(即摆动组件)。
3。您将使用 Group Layout
更好地完成此,这是由NetBeans团队在2005年开发的,使用 Windows Builder Pro,现在免于谷歌。
4. 但如果您仍想使用BorderLayout ,我建议您在JPanel
使用content pane
JFrame
以以您想要的方式添加按钮......