我怎么把JPanel分成70%30%

mad*_*hur 10 java swing jpanel layout-manager japplet

可能重复:
Swing:如何将组件高度设置为容器的高度?

我如何划分JPanel像下面显示的图片有2个面板panel1和panel2 panel1应占70%和panel2 30%或panel1应该大于panel2 ...我试过Gridlayout,边框布局,但它不工作.任何帮助不胜感激.

public class TestApplication extends JApplet {

private static final long serialVersionUID = 1L;

    JPanel p1,p2;

    public void init(){         
        setLayout(new GridLayout(3,1));
        p1=new JPanel();
        p2=new JPanel();

        p1.setBackground(Color.RED);
        p2.setBackground(Color.GREEN);

        add(p1);
        add(p2);
    }   
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Gra*_*amA 14

您是否考虑过使用JSplitPane(如何使用拆分窗格)?

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JApplet;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

public class TestApplication extends JApplet {

private static final long serialVersionUID = 1L;

    JPanel p1,p2;

    @Override
    public void init(){         
        setLayout(new BorderLayout());

        p1=new JPanel();
        p2=new JPanel();

        p1.setBackground(Color.RED);
        p2.setBackground(Color.GREEN);
        JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
        sp.setResizeWeight(0.7);
        sp.setEnabled(false);
        sp.setDividerSize(0);

        sp.add(p1);
        sp.add(p2);
        add(sp, BorderLayout.CENTER);
    }   
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述