1

我的问题是:
如何将 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

4

3 回答 3

3

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

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

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

于 2013-04-14T08:26:15.433 回答
2

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

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

在swing 教程中阅读如何使用这两个布局管理器,因为您对 BorderLayour 的工作方式感到困惑:您不能在这种布局的南边和东边添加东西。

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

于 2013-04-14T08:30:19.850 回答
2
buttonsPanel = new JPanel( new FlowLayout(FlowLayout.RIGHT) );
mainPanel.add(buttonsPanel, BorderLayout.SOUTH);
于 2013-04-14T19:16:33.820 回答