Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用BorderLayout将两个JButton放置在页面末尾而不重叠?_Java_Swing_Positioning_Jbutton_Border Layout - Fatal编程技术网

Java 如何使用BorderLayout将两个JButton放置在页面末尾而不重叠?

Java 如何使用BorderLayout将两个JButton放置在页面末尾而不重叠?,java,swing,positioning,jbutton,border-layout,Java,Swing,Positioning,Jbutton,Border Layout,因此,我希望按钮Select位于按钮Back上方,并且我不希望它们相互重叠。但是当我在页面的末尾设置它们时,它们重叠了。我该怎么做 以下是该问题的代码: public void methodName() { JPanel controls = new JPanel(new BorderLayout(5,5)); final CardLayout cl = new CardLayout(); final JPanel panel = new JPanel(cl);

因此,我希望按钮
Select
位于按钮
Back
上方,并且我不希望它们相互重叠。但是当我在
页面的末尾设置它们时,它们重叠了。我该怎么做

以下是该问题的代码:

public void methodName() {
    JPanel controls = new JPanel(new BorderLayout(5,5));
    final CardLayout cl = new CardLayout();
    final JPanel panel = new JPanel(cl);
    controls.add(panel);
    this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEADING));        
    list = new JList<Object>(objectName);
        list.setVisibleRowCount(7);
        select = new JButton("Select");
        back = new JButton("Back");
        select.addActionListener(this);
        controls.add(new JScrollPane(list));
        controls.add(select, BorderLayout.PAGE_END);
        controls.add(back, BorderLayout.PAGE_END);
        controls.setBorder(new EmptyBorder(25,25,0,0));
        add(controls);
        refreshFrame();
}
public void方法名(){
JPanel控件=新JPanel(新边界布局(5,5));
最终CardLayout cl=新的CardLayout();
最终JPanel面板=新JPanel(cl);
控件。添加(面板);
this.getContentPane().setLayout(新的FlowLayout(FlowLayout.LEADING));
列表=新JList(objectName);
列表。设置VisibleRowCount(7);
选择=新按钮(“选择”);
后退=新的按钮(“后退”);
选择.addActionListener(此);
添加(新的JScrollPane(列表));
控件。添加(选择,边框布局。页面结束);
控件。添加(背面,边框布局。页面结束);
控制。设定顺序(新的清空顺序(25,25,0,0));
添加(控制);
刷新帧();
}
以下是添加它们但重叠时的情况:

这就是我希望它看起来的样子:

有什么想法吗


提前谢谢

使用
GridLayout
将2个
JButtons
放置在新的
JPanel
上,如下所示

JPanel basePanel = new JPanel(new GridLayout(0, 1, 0, 3));
basePanel.add(select);
basePanel.add(back);
controls.add(basePanel, BorderLayout.PAGE_END);

GridLayout
可以提供its中按钮之间的垂直间隙,如您的问题所示

使用
GridLayout
将两个
JButtons
放置在新的
JPanel
上,如下所示

JPanel basePanel = new JPanel(new GridLayout(0, 1, 0, 3));
basePanel.add(select);
basePanel.add(back);
controls.add(basePanel, BorderLayout.PAGE_END);

GridLayout
可以提供its中按钮之间的垂直间隙,如您的问题所示

使用GridLayout(2,1)创建一个新的jpanel,然后将两个按钮添加到jpanel,然后将jpanel添加到Jframe

使用GridLayout(2,1)创建一个新的jpanel然后将两个按钮添加到jpanel,然后将jpanel添加到Jframe

使用此按钮而不是
边框布局
?使用此按钮而不是
边框布局