Ajuda com JOptionPane + JScrollPane

Olá galera.

Breve apresentação:
Sou novo no forum e estou buscando aprender linguagem Java para Desktop a principio.
Estou cursando ADS no 2º semestre, porem estou estudando por conta própria através de apostilas e video aulas.
Não quero me prender somente a Java, tenho planos futuramente estudar pelo menos 1 linguagem por ano e conforme eu for aprendendo
outras linguagem eu vou modelando meu trajeto.

Estou a principio evitando usar ferramentas que “facilitem” a parte de programar e estou fazendo todo código manualmente linha por linha,
pelo simples motivo de aprender como funciona.
Meu atual projeto é um programa bem simples de cadastro de cliente/fornecedor/produtos,
programa feito inteiro em JOptionPane com a combinação de um do-while + switchcase.
Até ai meu programa funciona como eu gostaria, ele cadastra, grava no arquivo txt, porem ao ler esse arquivo ele não aparece barra de rolagem.
Pelo o que eu pesquisei aqui no forum e no Google, JOptionPane não possui scrollbar, porem é possível adicionar um JTextArea com scroll dentro do JOptionPane.
Eu tentei fazer isso, porem não funcionou, o botão de rolagem fica apagado como se estivesse desativado.

Segue abaixo código. Pode conter vários erros, expressões desnecessárias ou confusas pois eu sou novo e algumas funções tirei de exemplos vistos na internet. A parte de OO ainda é complicada para mim, mas com a pratica eu aprendo.
Desde ja agradeço a atenção!

package br.com.lixos;

import javax.swing.*;
import java.awt.*;
import java.io.BufferedReader;
import java.io.FileReader;





public class BarraDeRolagem {
	
	public BarraDeRolagem(){
	JFrame frame = new JFrame();
	frame.setTitle("Teste");
	frame.setBounds(300, 0, 700, 800);
	frame.setSize(700, 725);
	
	JPanel panel = new JPanel();
	frame.getContentPane().add(panel);
	
	
	
	JTextArea jArea = new JTextArea();
	jArea.setLineWrap(true);
	jArea.setBounds(100,100,415, 700);
	//jArea.setBounds(10,80,303, 70);
	jArea.setMargin(new Insets(5,5,5,5));
	jArea.setWrapStyleWord(true);
	
	
	
	
	JScrollPane myjspane = new JScrollPane();
	myjspane.setViewportView(jArea);
	
	
	myjspane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
	myjspane.setHorizontalScrollBarPolicy(myjspane.HORIZONTAL_SCROLLBAR_ALWAYS);
	
	String arq = "FDANTAS_FORNECEDOR.txt";
	
	try{
		BufferedReader in = new BufferedReader(new FileReader(arq));
		JOptionPane.showMessageDialog(null, "Arquivo Lido!!","FDANTAS REP LTDA", JOptionPane.INFORMATION_MESSAGE);
		String str,txt = "";
		
		while ((str = in.readLine()) != null){
			txt += "\r\n" + str;
		}
		jArea.setText(txt);
	}catch(Exception e){
		Toolkit.getDefaultToolkit().beep();
	}
	panel.add(jArea);
	panel.add(myjspane);
	frame.setVisible(true);
	}

}



Experimenta apagar a linha 36 e instanciar teu JScrollPane passando o jArea como parâmetro pra ele (na linha 35). Pra JTextArea não é necessário usar esse método setViewportView.

[quote=Ruttmann]Experimenta apagar a linha 36 e instanciar teu JScrollPane passando o jArea como parâmetro pra ele (na linha 35). Pra JTextArea não é necessário usar esse método setViewportView.
[/quote]

Obrigado pela atenção Ruttman, infelizmente somente esse processo não deu certo.
Como eu disse pode conter linhas desnecessarias como você citou da linha 36.
Eu fiz alguns testes e encontrei um erro no final do código (linha 56 estava causando conflito)
e eu fiz adição de uma nova linha com o seguinte comando(metodo): .setPreferredSize(new Dimension(430,700))

Caso resolvido.