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