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;
现在发生的事情是它们水平蔓延。我希望水平四个按钮在桌子上方。
答案 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