Como Abrir um arquivo .txt numa área?

Bom Galera, abaixo vai todo o código que tenho na classe, eu tenho uma área onde posso digitar o texto, ( JText Area ) , tenho também um JFile Chooser para abrir aquela caixinha e escolher um arquivo, agora minha pergunta é: Como escolher um arquivo .txt e ele ser aberto no meu projeto ? :cry:

[code]package Fernandinha;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class JanelaPrincipal extends JFrame{

private JMenuBar barra;
private JMenu menuArquivo;
private JMenu menuEditar;
private JMenuItem itemNovo;
private JMenuItem itemAbrir;
private JMenuItem itemRecortar;
private JMenuItem itemCopiar;
private JMenuItem itemColar;
private JTextArea area;                   // todos os menus da barra


public JanelaPrincipal(){
    barra = new JMenuBar();
    menuArquivo = new JMenu("Arquivo");
    itemNovo = new JMenuItem("Novo");
    itemNovo.addActionListener(new ControladorBloco());
    itemAbrir = new JMenuItem("Abrir");
    itemAbrir.addActionListener(new ControladorAbrir());
    barra.add(menuArquivo);
    menuArquivo.add(itemNovo);
    menuArquivo.add(itemAbrir);
    menuEditar = new JMenu("Editar");
    itemRecortar = new JMenuItem("Recortar");
    itemRecortar.addActionListener(new ControladorRecortar());
    itemCopiar = new JMenuItem("Copiar");
    itemCopiar.addActionListener(new ControladorCopiar());
    itemColar = new JMenuItem("Colar");
    itemColar.addActionListener(new ControladorColar());
    barra.add(menuEditar);
    menuEditar.add(itemRecortar);
    menuEditar.add(itemCopiar);
    menuEditar.add(itemColar);
    super.setJMenuBar(barra); 
    
    
}
 public void clicouEmBloco (){
    area = new JTextArea ();
    super.getContentPane().add(area);
}

class ControladorBloco implements ActionListener {

public void actionPerformed(ActionEvent e) {
    clicouEmBloco();
}

}

public void clicouEmRecortar (){
area.cut();
}
class ControladorRecortar implements ActionListener {

public void actionPerformed(ActionEvent e) {
    clicouEmRecortar();
}

}
public void clicouEmCopiar (){
area.copy();
}
class ControladorCopiar implements ActionListener {

public void actionPerformed(ActionEvent e) {
    clicouEmCopiar();
}

}
public void clicouEmColar (){
area.paste();
}
class ControladorColar implements ActionListener {

public void actionPerformed(ActionEvent e) {
    clicouEmColar();
}

}
public void clicouEmAbrir (){

    JFileChooser chooser = new JFileChooser();
    chooser.showOpenDialog(null);
}

class ControladorAbrir implements ActionListener {

public void actionPerformed(ActionEvent e) {
    clicouEmAbrir();
}

}

}
[/code]

Essa é fácil, lá vai:

/**
     * Retorna o texto do arquivo solicitado
     *
     * @param file O arquivo desejado
     * @return O texto extraído
     * @throws java.io.FileNotFoundException
     * @throws java.io.IOException
     */
    public String getFileText(File file) throws FileNotFoundException, IOException {

        int fileLength = (int) file.length();
        int nChars = -1;
        // progress updates after every blockSize chars read
        int blockSize = Math.max(1024, fileLength / 100);
        int p = blockSize;
        char[] buffer = new char[32];
        StringBuilder contents = new StringBuilder();
        BufferedReader rdr = new BufferedReader(new FileReader(file));
        while ((nChars = rdr.read(buffer)) != -1) {
            contents.append(buffer, 0, nChars);
            if (contents.length() > p) {
                p += blockSize;
            }
        }
        return contents.toString();
    }

O método acima extrai o texto de um arquivo e o insere em uma String, para adicionar ao JTextArea, utilize o método setText(""), utilizando como parâmetro a String que você extraiu no método anterior.

Esse método também é util caso você deseja obter o tamanho do arquivo para utilização com JProgressBar, ele determina o tamanho máximo e dentro do while você pode atualizar o progressBar a cada byte lido.

Espero ter ajudado.

Caramba, você podia colocar esse código dentro do meu para me situar?
ou isso será numa nova classe do projeto ?

É só um método, adicione ao seu código, pode ser acima ou abaixo de qualquer um dos seus outros métodos.

Eu nem vi seu código, apenas peguei um código antigo que tinha aqui e colei.

Vlw!!!

Aqui tem algo sobre:

http://www.javafree.org/viewtopic.jbb?t=9794