Pergunta Básica (Eu acho...)

Uma simples pergunta, eu acho.
Como eu faço para alterar o encode das letras em um JTextArea? Porque por padrão, o formato é UTF-8 e eu gostaria de transformar em ISO-8859-1.

Abraços, Gustavo Borba.

Olá… tudo bem ? :smiley:

:arrow: Faça o teste digitando dentro do JTextArea as palavras Pão, Cão e Farmácia.
:arrow: Clique no botão ‘Exibir!’ e verá o texto no formato ISO-8859-1, ok?

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

    public class AreaTextoRolagem extends JFrame{
      JTextArea areaTexto;
   
       public AreaTextoRolagem(){
         super("Conversor de escrita");
      
         Container tela = getContentPane();
      
         BorderLayout layout = new BorderLayout();
         tela.setLayout(layout);
      
         Tratador trat = new Tratador();
      
         JLabel rotulo = new JLabel("Seu texto:");
         JButton btn = new JButton("Exibir!");
         btn.addActionListener(trat);
      
         areaTexto = new JTextArea(10, 20);
         JScrollPane painelRolagem = new JScrollPane(areaTexto);
         painelRolagem.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
         painelRolagem.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
      
         JPanel pSuperior = new JPanel();
         pSuperior.setLayout(new FlowLayout(FlowLayout.LEFT));
         pSuperior.add(rotulo);
      
         JPanel pCentro = new JPanel();
         pCentro.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 0));
         pCentro.add(painelRolagem);
      
         JPanel pInferior = new JPanel();
         pInferior.setLayout(new FlowLayout(FlowLayout.RIGHT));
         pInferior.add(btn);
      
         tela.add(BorderLayout.NORTH, pSuperior);
         tela.add(BorderLayout.CENTER, pCentro);
         tela.add(BorderLayout.SOUTH, pInferior);
      
         pack();
         setVisible(true); 
      }
   
       public static void main(String args[]){
         AreaTextoRolagem app = new AreaTextoRolagem();
         app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }
   
       private class Tratador implements ActionListener{
          public void actionPerformed(ActionEvent e){
            try { // Aqui é ralizada a conversão.
               byte[] iso88591Data = areaTexto.getText().getBytes("UTF-8"); 
               String stringCodificada = new String(iso88591Data, "ISO-8859-1");
               JOptionPane.showMessageDialog(null, stringCodificada);
            } 
                catch(Exception ex) {
                  JOptionPane.showMessageDialog(null, "Erro na conversão!");
               }
         }
      }
   }

Agora se quiser alterar o texto dentro do JTextArea, provavelmente vai ter que aplicar a conversão no PlainDocument… se não estou enganada :roll:

Ajudei :?: Até +…

Onde você viu essa que o padrão do charset do JTextArea é UTF-8? O que está acontecendo na sua aplicação afinal?

Olá… :smiley:

Simplesmente peguei o texto digitado no JTextArea e transformei em uma cadeia de Byte[] usando o padrão de escrita que selecionei, no caso UTF-8. Esse é o input.
Depois crio um objeto String passando ao construtor a cadeia de Byte[] criada anteriormente e informando o padrão que deseja-se que apareça na mensagem. Esse é o output.
Entendeu? :wink:

Para testar: Inverta os padrões, no lugar do UTF-8 informe o ISO e no lugar do ISO informe o UTF-8.
Agora informe a palavra ‘Não’ e veja como aparece na mensagem… Depois tente com ‘Farmácia’ e veja novamente.
Você está entendendo?

Tchau, até mais…

Oiee pessoal…Eu queria saber como colocar uma String num array.

Olá colega… :smiley: Bem vinda.

Tem este pdf bem simples de entender e vai te ajudar com certeza. Ok?

Tente implementar algo, se estiver encontrando dificuldade, procure por um tópico específico aqui no GUJ para a esta sua questão, caso não exista, abra um novo.
Este título do tópico é muito genérico… Evite duplicar caso encontrar na sua busca, Ok?

Não desista, tenha boa vontade e leia o pdf do link. :wink:
Até +…

óia eO de novo te pertubando…hehehehe
Voxe tem alguma coisa em pdf sobre “Paradigmas Lógicos”, pq jah tentei procurar alguma coisa, mas o q me vem eh muito resumido.
bjin

[quote=Betinha.C]óia eO de novo te pertubando…hehehehe
Voxe tem alguma coisa em pdf sobre “Paradigmas Lógicos”, pq jah tentei procurar alguma coisa, mas o q me vem eh muito resumido.
bjin[/quote]

KKKK… tentou no Google? Tem um ditado que diz que se o Google não achar é porque não existe! :lol:
Tente este link aqui…
Lembre-se: se o assunto muda, o tópico também muda :!: Nesse caso mudou… :? Siga os conselhos finais da mensagem anterior nas suas próximas postagens… :wink:

Até +…

Boa noite.

Entrei neste post para dizer que nada eh basico desde que seja realmente uma duvida, nao tenham vergonha, receio… de perguntarem e para a professora tb meus sinceros e respeitosos parabens.

[]s
RS