Nova linha JtextArea

2 respostas
progJava

Estou usando o método para gravar o texto de um jtextArea só que o texto fica gravado tudo numa linha só Ex.:aaaaaaaaaaaaa --------------------------------------
bbbbbbbbbbbbb-----------------------------------------
->>>(aaaaaaaaabbbbbbbbbbbbb).
ou seja não pula o texto para a próxima linha como resolver ?

Codigo.:

public void GravarText() {

             JFileChooser fc = new JFileChooser();

             if(fc.showSaveDialog(T01.this) != JFileChooser.APPROVE_OPTION)
                return;

             File arquivo = fc.getSelectedFile();
             if(arquivo == null)
                 return;

             FileWriter writer = null;
             try {
                 writer = new FileWriter(arquivo);
                 writer.write(editor.getText());
             }
             catch(IOException ex){
                 // Possiveis erros aqui
             }
             finally {
                if(writer != null){
                   try{
                       writer.close();
                   }
                   catch (IOException x){
                       //
                }
             }
            }
          }

2 Respostas

Vinny

Vc pode usar isso aqui:

JTextArea1.setLineWrap(true);
JTextArea1.setWrapStyleWord(true);

Sendo o primeiro comando setado para null para quebrar linha e o segundo em true para não cortar as palavras no meio.

Abraço.

Trebloc

O modo que faço para resolver isso é criar um Scanner para a área de texto:

Scanner s = new Scanner(editor.getText()); FileWriter writer = new FileWriter(arquivo); String line = s.nextLine(); while (line != null) { writer.write(line + "\n\r"); // grava a linha e um "pulo de linha" no arquivo line = s.nextLine(); // passa para a próxima linha na área de texto } s.close(); writer.close();

Assim, ele grava linha por linha no arquivo.

Criado 22 de fevereiro de 2010
Ultima resposta 23 de fev. de 2010
Respostas 2
Participantes 3