Scusate se rompo dinuovo le scatole ma non riesco proprio a capire come funziona questo setBorder e perché lo JScrollPane non aggiunge le barre di scorrimento come piacciono a me. L'interlinea che c'è tra le 3 stringhe che vedete sotto è troppo grande e se setto a 0 i bordi con EmptyBorder non riesco a ridurla.
Per quanto riguarda JScrollPane vorrei applicare una barra di scorrimento solo verticale a un JPanel che contiene altri JPanel tutti quanti settati con FlowLayout. Il mio problema è che non resco a settare una barra di scorrimento verticale, java me la mette sempre e solo orizzontale.
JPanel jp = new JPanel();
JScrollPane jsp = new JSrollPane(jp);
Ho provato le 1200 soluzioni prese da google ma non c'è stato verso...

Ecco qui uno stralcio del codice...

codice:
import java.awt.BorderLayout;
import java.awt.ComponentOrientation;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.*;
import javax.swing.border.EmptyBorder;

public class InterfacciaGraficaVotazioni extends JFrame {

...

private EmptyBorder bordi = new EmptyBorder(0, 0, 0, 0);

...

private void actionExit() {
        System.exit(0);
    }

public InterfacciaGrafica() {
        
...

menu_file.add(comando_exit);
        barra_menu.add(menu_file);
        setJMenuBar(barra_menu);
        // Creazione dell'intestazione della finestra
        JPanel pannello1 = new JPanel();
        pannello1.setBorder(bordi);
        JL_titolo = new JLabel(titolo);
        JL_sottotitolo = new JLabel(sottotitolo);
        JL_descrizione_1 = new JLabel(descrizione_1);
        pannello1.setLayout(new GridLayout(6, 1));
        // Riga 1, 2, 3
        JL_titolo.setHorizontalAlignment(SwingConstants.CENTER);
        JL_titolo.setBorder(bordi);
        pannello1.add(JL_titolo);
        JL_sottotitolo.setHorizontalAlignment(SwingConstants.CENTER);
        JL_sottotitolo.setFont(carattere);
        pannello1.add(JL_sottotitolo);
        JL_descrizione_1.setHorizontalAlignment(SwingConstants.CENTER);
        JL_descrizione_1.setFont(carattere);
        pannello1.add(JL_descrizione_1);
        // Riga 4
        JPanel pannello2 = new JPanel();
        pannello2.setLayout(new FlowLayout());
        JL_nota_1 = new JLabel(nota_1);
        pannello2.add(JL_nota_1);
        JTF_nomefile = new JTextField(nomefile, lunghezza_nomefile);
        pannello2.add(JTF_nomefile);
        JB_inizializza = new JButton(inizializza);
        pannello2.add(JB_inizializza);
        pannello1.add(pannello2);
        // Riga 5
        JPanel pannello3 = new JPanel();

     ...
        
    }

    // Avvia il software
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
InterfacciaGrafica interfaccia = new InterfacciaGrafica();
                interfaccia.setVisible(true);
            }
        });
    }
}