JPanel:如何在表格上方添加按钮?

时间:2010-10-20 03:09:29

标签: java swing

    JPanel panel = new JPanel();
    bigbutton = new JButton("Big Button");
    clearbutton = new JButton("Clear Page");
    resetbutton = new JButton("Start Over");
    finishbutton = new JButton("Finish");


    panel.add(sometable);
    return panel; 

现在发生的事情是它们水平蔓延。我希望水平四个按钮在桌子上方。

2 个答案:

答案 0 :(得分:2)

将面板的布局设置为BorderLayout,将按钮添加到框中,使用BorderLayout.PAGE_START约束将该框添加到面板,使用Borderlayout.CENTER约束添加表。

答案 1 :(得分:1)

  

现在发生的事情是它们水平蔓延。

除了@ tulskiy和@Andrew Thompson的建议之外,注意JPanel的默认布局是FlowLayout可能很有用,它将组件排列在水平行中。

附录:

  

JPanel的{​​{1}}改为FlowLayout或其他布局?

选择布局部分是品味问题,但我会将建议的方法结合起来,如How to Use Tool Bars所示。请注意BorderLayout如何扩展ToolBarDemo,然后调用超类构造函数来指定JPanel

BorderLayout()

缺少扩展名,只需直接使用构造函数:

public class ToolBarDemo extends JPanel implements ActionListener {
    ...
    public ToolBarDemo() {
        super(new BorderLayout());
        ...
        JToolBar toolBar = new JToolBar("Still draggable");
        addButtons(toolBar);
        ...
        setPreferredSize(new Dimension(450, 130));
        add(toolBar, BorderLayout.PAGE_START);
        add(sometable, BorderLayout.CENTER);
    }
    ...
}

替代方法,请使用JPanel panel = new JPanel(new BorderLayout()); 继承的setLayout()方法。

JPanel