java - 我如何将 JPanel 分成 70% 30%

标签 java swing jpanel layout-manager japplet

<分区>

Possible Duplicate:
Swing: How do I set a component height to the container's height?

我如何像下面显示的图片那样划分 JPanel 有 2 个面板 panel1 和 panel2 panel1 应占 70%,panel2 应占 30%,或者 panel1 应大于 panel2 ... 我已经尝试过 Gridlayout、Border Layout 但它不起作用。任何帮助将不胜感激。

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

enter image description here

最佳答案

您是否考虑过使用 JSplitPane ( How to Use Split Panes )?

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

enter image description here

关于java - 我如何将 JPanel 分成 70% 30%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12276351/

相关文章:

java - 当在字符串变量值中找到\n时如何打印换行符?

java - 单击菜单项时无法在屏幕上显示绘图。

java-链​​表,创建无名节点

java - 调用位于另一个类中的另一个函数中的函数

java - 如何在 JFreeChart 可见后更新它的外观?

java - 摆脱 JMenu 中浪费/未使用的空间

java - Swing 文本 API : Override LabelView with different string length?

Java Swing JPanel 大小不起作用

java - 即使我双缓冲,JPanel 仍然撕裂?

java - Tomcat 8.5.33 上的 REST 应用程序部署问题