java中JScrollPane面板如何实现嵌套?

问题遇到的现象和发生背景

java中JScrollPane面板如何实现嵌套?
将嵌套的JScrollPane面板使用绝对布局,实现了嵌套,有其它方法吗?

import javax.swing.;
import java.awt.
;
public class JScrollPaneTest03 {
public JScrollPaneTest03() {
JFrame jf = new JFrame(); //创建容器
jf.setTitle("滚动窗体嵌套"); //为容器添加标题
jf.setBounds(600, 400, 300, 200); //设置jf容器在屏幕中出现的位置以及大小
jf.setDefaultCloseOperation(2); //设置jf容器关闭方式
JTextArea ja= new JTextArea("我是文本框",3,9);
JScrollPane js = new JScrollPane(ja);

    JPanel jp1 = new JPanel(new GridLayout(6,9,10,10));                            //创建jp1面板
    for(int i=0;i<54;i++) {
        jp1.add(new JButton("jp1 按钮"+i));                            //向jp1面板中添加按钮组件
    }
    JScrollPane js1 = new JScrollPane(jp1);                        //将jp1面板添加到js1滚动窗体中
    
    JPanel jp2 = new JPanel();                /创建jp2面板
    jp2.setLayout(null);                            //jp2取消布局管理器
    jp2.add(js1);                                    //将js1添加到jp2
    js1.setBounds(10,10,200,150);

    JPanel jp3 = new JPanel(new GridLayout(5,9,10,10));            //创建jp3面板
    for(int i=0;i<18;i++) {
        jp3.add(new JButton("jp3 按钮"+i));            //jp3面板添加按钮
    }

    JPanel jp4 = new JPanel();                                //创建jp4面板
    jp4.setLayout(new GridLayout(2,1,10,10));        //网格布局
    jp4.add(jp2);                            //将jp2添加到jp4
    jp4.add(jp3);                            //将jp3添加到jp4
    
    JScrollPane js2 = new JScrollPane(jp4);                            //将jp4添加到js2
    
    jf.add(js2);
    jf.setVisible(true);                    //设置jf容器可见
}
public static void main(String[] args) {
    new JScrollPaneTest03();
}

}

运行结果及报错内容
     jp2.setLayout(null);      //jp2取消布局管理器,实现了嵌套

img

  //jp2.setLayout(null);      //注释该句后,只有外层JS面板存在

img

我的解答思路和尝试过的方法

尝试过更改jp2、jp4的布局管理器,但都以失败告终
将jp1面板更改为文本框,是可以在不使用绝对布局情况下实现嵌套,但需要赋超过文本区域的初始值内容

img

我想要达到的结果

img