如何将两个jpanel并排放置



我试着把两个jpanel放在一起,但现在我不能做我想做的事我有这个代码,

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();

`我试着再放一个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();

这段代码不起作用,也不会出现错误。

如果我正确理解你的问题,你需要并排放置两个JPanel。查看布局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);
    }
 }

相关内容

  • 没有找到相关文章

最新更新