Scusa se insisto, ma è per capire.
Innanzitutto in questo metodo sei nel contesto del EDT. Non lo devi tenere impegnato per troppo tempo. Dovresti solo settare le proprietà visuali per mostrare che è in attesa (es. cursore clessidra), creare il JFrame di progresso e avviare il thread.
Vedendo il codice che ho passato prima, mi limito a creare il JFrame ed è così che si avvia il thread o devo scrivere qualcos'altro?

Riportare il cursore allo stato normale o altro che indica la terminazione del "lavoro" dovresti farlo nel done() del tuo SwingWorker, metodo che viene invocato nuovamente nel contesto del EDT, quindi "safe" per accedere alla interfaccia utente.
......
Uscendo dal doInBackground().
Ho implementato questi metodi (done() e doInBackground()) così come riportato anche dal tutorial che mi hai indicato tu, ma, sempre per capire, gli devo richiamare da qualche parte o il thread, quando viene istanziato, li richiama da solo?

Infine, ho costruito la progressBar utilizzando l'ide di Netbeans che genera da solo il codice che cmq riporto:
codice:
private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        progressBar = new javax.swing.JProgressBar();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Attendere prego...");

        org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 269, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(19, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(18, 18, 18)
                .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>
La progressBar viene aggiunta al JFrame, ma deve essere che sbalgio qualcosa nel codice che scrivo...ma cosa?