JTextArea

Boas pessoal,

quero criar um area de texto igualzinha a esta aonde nós colocamos as nossos topicos, uma area de texto que tenha botões para fazer o texto BOLD, ITALIC e SUBLINHADO e que eu possa limitar o numero de caracteres das linhas e das colunas, ou seja eu quero que so tenha 50 caracteres para a linha e 50 caracteres para a coluna ( Ao chegar aos cinquenta caractares na linha ele automaticamente muda de linha )

MAs eu gostaria de implementar isso em swing eu ja consegui criar a JTextArea , agora falta-me o resto .
Eis a JTextArea :

     int rows = 18;
      int cols = 56;

      JTextArea informacao1 = new JTextArea(rows, cols);
    
      JScrollPane scrollPane = 
      new JScrollPane(informacao1,
                    JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
      scrollPane.setPreferredSize(new Dimension(615, 250));
      panel1.add(scrollPane);

Obrigado desde ja pela ajuda !