FCo*_*lho 4 java layout swing jpanel grouplayout
我尝试将两个jpanels并排放置,但是在这一刻我不能做我想要的,我有这个代码,
this.videoPanel= new JPanel();
this.videoPanel.setBackground(new Color(102, 102, 102));
this.videoPanel.setPreferredSize(new Dimension(320, 240));
this.videoPanel.setLayout(new BoxLayout(this.videoPanel, 1));
GroupLayout layout = new GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.videoPanel, 10, 400, 500)));
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(this.videoPanel, 10, 400, 500)));
pack();
Run Code Online (Sandbox Code Playgroud)
`我试着再放一个jpanel:
this.videoPanel1.setBackground(new Color(102, 102, 102));
this.videoPanel1.setPreferredSize(new Dimension(320, 240));
this.videoPanel1.setLayout(new BoxLayout(this.videoPanel1, 2));
GroupLayout layout = new GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.videoPanel1, 10, 400, 500)
.addComponent(this.videoPanel, 10, 400, 500)));
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(this.videoPanel1, 10, 400, 500)
.addComponent(this.videoPanel, 10, 400, 500)));
pack();
Run Code Online (Sandbox Code Playgroud)
此代码不起作用,也不会出错.
如果我正确理解你的问题,你想要并排放置2个JPanel.查看Layout GridLayout.
你想要setLayout(new GridLayout(1,2)); 其中1排,2排
package SSCCE;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class SideBYSide extends JFrame{
public static void main(String[] args) {
new SideBYSide();
}
public SideBYSide(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(100, 75);
this.setLayout(new BorderLayout());
this.setVisible(true);
JPanel container = new JPanel();
JPanel panelOne = new JPanel();
JPanel panelTwo = new JPanel();
panelOne.add(new JLabel("1"));
panelTwo.add(new JLabel("2"));
container.setLayout(new GridLayout(1,2));
container.add(panelOne);
container.add(panelTwo);
this.add(container);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7100 次 |
| 最近记录: |