Java 东南边界?

Java 东南边界?,java,swing,gridbaglayout,border-layout,Java,Swing,Gridbaglayout,Border Layout,我的问题是: 如何将JPanel添加到东南部的边界布局中? 这是我的按钮组: buttonsPanel = new JPanel(); buttonsPanel.setLayout(new GridBagLayout()); buttonsPanel.add(cancel); buttonsPanel.add(previous); buttonsPanel.add(next); cancel、previous和next按钮是JButtons-s,buttonsPanel是JPanel。声明:

我的问题是: 如何将JPanel添加到东南部的边界布局中? 这是我的按钮组:

buttonsPanel = new JPanel();
buttonsPanel.setLayout(new GridBagLayout());
buttonsPanel.add(cancel);
buttonsPanel.add(previous);
buttonsPanel.add(next);
cancel、previous和next按钮是JButtons-s,buttonsPanel是JPanel。声明:

JPanel buttonsPanel;
JButton cancel;
JButton previous;
JButton next;
我的JFrame: JFrame主窗口;-宣言。代码的其余部分:

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);
那么我该怎么做才能移动主窗口东南面的按钮面板呢? 请帮帮我

提前感谢,, Mateiaru

创建带边框布局的JPanel,将此面板添加到主面板的南部位置

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

现在将按钮面板添加到东部位置的南面板

创建带边框布局的JPanel,将此面板添加到主面板的南部位置

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


现在将按钮面板添加到位于东部位置的南面板中

如果我理解正确,您希望将按钮面板放置在框架的南部,并将按钮放置在按钮面板的右侧

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

请阅读中如何使用这两个布局管理器,因为您对BorderLayour的工作方式感到困惑:您不能在这样的布局的南部和东部添加内容


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

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

buttonsPanel = new JPanel( new FlowLayout(FlowLayout.RIGHT) );
mainPanel.add(buttonsPanel, BorderLayout.SOUTH);
要做到这一点,我将使用一个水平的BoxLayout,包含一个胶水作为它的第一个元素,来在按钮面板内布局按钮。然后我会在内容窗格的南部添加此按钮面板

请阅读中如何使用这两个布局管理器,因为您对BorderLayour的工作方式感到困惑:您不能在这样的布局的南部和东部添加内容

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

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