加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何让两个JPanel总是占用屏幕的一半,水平分割?

发布时间:2020-12-15 00:55:51 所属栏目:Java 来源:网络整理
导读:如标题中所述.我使用BorderLayout()在另一个上面有两个JPanel. import java.awt.*;import javax.swing.*;public class myForm(){ public static void main(String[] args) { JFrame myFrame = new JFrame("SingSong"); myFrame.setLocation(100,100); myFram
如标题中所述.我使用BorderLayout()在另一个上面有两个JPanel.
import java.awt.*;
import javax.swing.*;

public class myForm(){
    public static void main(String[] args) {       
        JFrame myFrame = new JFrame("SingSong");
        myFrame.setLocation(100,100);
        myFrame.setSize(new Dimension(1024,800));
        myFrame.setLayout(new BorderLayout());
        JPanel jp = new JPanel();
        jp.setBackground(new Color(0x00FF00FF));
        JPanel jp2 = new JPanel(new BorderLayout());
        jp2.setBackground(new Color(0x00000000));

        jp.setPreferredSize(new Dimension(100,400));
        jp2.setPreferredSize(new Dimension(100,400));
        jp2.setLocation(0,512);

        myFrame.add(jp2,BorderLayout.SOUTH);
        myFrame.add(jp,BorderLayout.NORTH);
    }
}

它们各占一半,但我怎么能设置它以便它们总是占用JFrame的一半,即使调整大小?
(P.S.我通常使用更好的变量名称,我只是把它作为SSCCE)

解决方法

试试GridLayout
JFrame myFrame = new JFrame("SingSong");
myFrame.setLocation(100,100);
myFrame.setSize(new Dimension(1024,800));

GridLayout layout = new GridLayout(2,1);
myFrame.setLayout(layout);

JPanel jp = new JPanel();
jp.setBackground(new Color(0x00FF00FF));

JPanel jp2 = new JPanel(new BorderLayout());
jp2.setBackground(new Color(0x00000000));

myFrame.add(jp);
myFrame.add(jp2);

myFrame.setVisible(true);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读