我在JFrame
内组织JPanel
我有3个 JPanel
s,需要如下组织:
panel1面板2
面板__3333333
但是,只能水平对齐panel1
和panel2
如下:
groupLayout.setHorizontalGroup(groupLayout.createSequentialGroup()
.addComponent(PANEL1)
.addComponent(PANEL2));
groupLayout.setVerticalGroup(groupLayout.createParallelGroup()
.addComponent(PANEL1)
.addComponent(PANEL2));
谢谢。
最简单的方法是将您的jpanels放置在其他jpanels内部。
这是您可能要做的示例:
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);
有许多不同的方法,但我发现这是最简单的。希望这会有所帮助!
我认为您应该使用gridbaglayout而不是grouplayout。它符合您的需求
请参阅此处的Gridbag布局上的Oracle Doc