BorderLayout东南?

时间:2013-04-14 08:21:38

标签: java swing gridbaglayout border-layout

我的问题是:
如何将JPanel添加到东南部的BorderLayout?
这是我的按钮组:

buttonsPanel = new JPanel();
buttonsPanel.setLayout(new GridBagLayout());
buttonsPanel.add(cancel);
buttonsPanel.add(previous);
buttonsPanel.add(next);

取消,上一个和下一个按钮是JButtons-s,buttonsPanel是JPanel。
声明:

JPanel buttonsPanel;
JButton cancel;
JButton previous;
JButton next;

我的JFrame:
JFrame mainWindow; - 声明。
其余代码:

mainWindow.setJMenuBar(menubar);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.getContentPane().setLayout(new BorderLayout());
mainWindow.setSize(new Dimension(screenW / 3 + 200, screenH - 200));
mainWindow.setMinimumSize(new Dimension(screenW / 4, screenH - 500));
//mainWindow.getContentPane().add(BorderLayout.EAST, BorderLayout.SOUTH, buttonsPanel);
int w = mainWindow.getWidth();
int h = mainWindow.getHeight();
x = (screenW - w)/2;
y = (screenH - h)/2;
mainWindow.setLocation(x, y);
mainWindow.setVisible(true);

那么我该怎么做才能在主窗口的东南方移动buttonsPanel? 请帮帮我。

提前致谢, Mateiaru

3 个答案:

答案 0 :(得分:3)

使用JPanel创建BorderLayout,将此面板添加到主面板的SOUTH位置。

创建另一个JPanel,将您的按钮添加到此面板(使用您需要的布局管理器。

现在将“按钮”面板添加到EAST位置的南面板

答案 1 :(得分:2)

如果我理解正确,您希望按钮面板位于框架的南边,按钮位于按钮面板的右侧。

要做到这一点,我会使用一个水平的BoxLayout,包含一个胶水作为其第一个元素,来布局按钮面板内的按钮。然后我会在内容窗格的南边添加此按钮面板。

阅读如何在the swing tutorial中使用这两个布局管理器,因为您对BorderLayour的工作方式感到困惑:您无法在此类布局的南部和东部添加内容。

请注意,有关BoxLayout的教程页面有一个完全符合您要求的示例。

答案 2 :(得分:2)

buttonsPanel = new JPanel( new FlowLayout(FlowLayout.RIGHT) );
mainPanel.add(buttonsPanel, BorderLayout.SOUTH);