我在JPanel
内组织JFrame
时遇到问题。
我有3个JPanel
,需要按如下方式对其进行整理:
panel1 panel2
panel__3333333
但是,只能按如下方式水平对齐panel1
和panel2
:
groupLayout.setHorizontalGroup(groupLayout.createSequentialGroup()
.addComponent(PANEL1)
.addComponent(PANEL2));
groupLayout.setVerticalGroup(groupLayout.createParallelGroup()
.addComponent(PANEL1)
.addComponent(PANEL2));
感谢。
答案 0 :(得分:3)
实现此目的的最简单方法是将JPanel存放在其他JPanel中。
以下是您可能会做的一个示例:
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this is the main JPanel that will house all of your child JPanels
JPanel mainPanel= (JPanel)frame.getContentPane();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
//this JPanel will house "panel1" and "panel2" on top and will go inside the main panel
JPanel topPanel = new JPanel();
topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));
//add panel1 and panel2 to topPanel here
mainPanel.add(topPanel);
//add panel3 to mainPanel here
frame.pack();
frame.setVisible(true);
有很多不同的方法,但我发现这是最简单的方法。希望这有帮助!
答案 1 :(得分:0)
我认为你应该使用GridBagLayout而不是grouplayout。 它符合您的需求