ciao!

vorrei creare una finestra con uno JSplitPane con:
- a sinistra un JPanel con alcuni dettagli presi da un metodo
- a destra un JPanel con una immagine

il problema è che i due JPanel non sono scrollabili, e di conseguenza devo massmizzare il JFrame per vedere tutto bene (ad esempio l'immagine che magari è parecchio grande).

siccome i due JPanel potrebbero essere riutilizzati singolarmente, ho pensato di crearli indipendenti.
quindi a sinistra questo:
codice:
public class PanelDetail extends JPanel {

    private final File file;
    private JScrollPane panel;
    private JTextArea area;

    public PanelDetail(File file) {
        super();
        this.file = file;
        createGui();
        parseFile();
    }

    private void createGui() {
        area = new JTextArea();
        panel = new JScrollPane(area, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        area.setEditable(false);
        setLayout(new BorderLayout());
        add(panel, BorderLayout.CENTER);
    }

.................................
}
a destra questo:
codice:
public class PanelImage extends JPanel {

    private BufferedImage image;
    private int w;
    private int h;

    public PanelImage(File file) {
        try {
            image = ImageIO.read(file);
            w = image.getWidth();
            h = image.getHeight();
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }

    @Override
    public Dimension getPreferredSize() {
        return new Dimension(w, h);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(image, 0, 0, this);
    }

}
questo il JFrame che contiene il JSplitPane:
codice:
public class WindowImage extends JFrame {

    private final File file;
    private PanelDetail left;
    private JPanel right;
    private JSplitPane splitPane;

    public WindowImage(File file) {
        super("Dettaglio immagine");
        this.file = file;
        createGui();
    }

    private void createGui() {
        setPreferredSize(new Dimension(800, 500));
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setLayout(new FlowLayout());
        left = new PanelDetail(file);
        right = new PanelImage(file);
        splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);
        splitPane.setOneTouchExpandable(true);
        add(splitPane);
        pack();
        setLocationRelativeTo(null);

        getRootPane().registerKeyboardAction(e -> {
            dispose();
        }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    }
}
come faccio a rendere i due JPanel scrollabili (come in questa immagine per intenderci https://docs.oracle.com/javase/tutor...tpane.html)???