GWT - Widget RichTextArea

Introdução

o RichTextAreawidget representa um editor de rich text que permite estilo e formatação complexos. Como alguns navegadores não suportam edição de rich text e outros suportam apenas um subconjunto limitado de funcionalidade, há duas interfaces de formatador, acessadas via getBasicFormatter () e getExtendedFormatter ().

Um navegador que não oferece suporte para edição de rich text retornará null para ambos, e um que oferece suporte apenas a funcionalidade básica retornará null para o último getExtendedFormatter ().

Declaração de Classe

A seguir está a declaração para com.google.gwt.user.client.ui.RichTextArea classe -

public class RichTextArea
   extends FocusWidget
      implements HasHTML, HasInitializeHandlers, HasSafeHtml

Regras de estilo CSS

As seguintes regras de estilo CSS padrão serão aplicadas a todos os widgets TextBox. Você pode substituí-lo de acordo com seus requisitos.

.gwt-RichTextArea {}

Construtores de classe

Sr. Não. Construtor e descrição
1

RichTextArea()

Cria um novo objeto RichTextArea em branco sem folha de estilo.

Métodos de aula

Sr. Não. Nome e descrição da função
1

HandlerRegistration addInitializeHandler(InitializeHandler handler)

Adiciona um manipulador InitializeEvent.

2

RichTextArea.BasicFormatter getBasicFormatter()

Descontinuada. use getFormatter () em vez disso.

3

RichTextArea.ExtendedFormatter getExtendedFormatter()

Descontinuada. use getFormatter () em vez disso.

4

RichTextArea.Formatter getFormatter()

Obtém a interface de formatação de rich text.

5

java.lang.String getHTML()

Obtém o conteúdo deste objeto como HTML.

6

java.lang.String getText()

Obtém o texto deste objeto.

7

boolean isEnabled()

Obtém se este widget está habilitado.

8

protected void onAttach()

Este método é chamado quando um widget é anexado ao documento do navegador.

9

protected void onDetach()

Este método é chamado quando um widget é desanexado do documento do navegador.

10

void setEnabled(boolean enabled)

Define se este widget está habilitado.

11

void setFocus(boolean focused)

Focar / desfocar explicitamente este widget.

12

void setHTML(java.lang.String safeHtml)

Define o conteúdo deste objeto por meio de um HTML seguro.

13

void setHTML(java.lang.String html)

Define o conteúdo deste objeto via HTML.

14

void setText(java.lang.String text)

Define o texto deste objeto.

Métodos herdados

Esta classe herda métodos das seguintes classes -

  • com.google.gwt.user.client.ui.UIObject

  • com.google.gwt.user.client.ui.Widget

  • com.google.gwt.user.client.ui.FocusWidget

  • java.lang.Object

Exemplo de widget RichTextBox

Este exemplo o conduzirá por etapas simples para mostrar o uso de um widget RichTextBox no GWT. Siga as etapas a seguir para atualizar o aplicativo GWT que criamos no GWT - capítulo Criar aplicativo -

Degrau Descrição
1 Crie um projeto com o nome HelloWorld em um pacote com.tutorialspoint conforme explicado no capítulo GWT - Criar aplicativo .
2 Modifique HelloWorld.gwt.xml , HelloWorld.css , HelloWorld.html e HelloWorld.java conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Compile e execute o aplicativo para verificar o resultado da lógica implementada.

A seguir está o conteúdo do descritor do módulo modificado src/com.tutorialspoint/HelloWorld.gwt.xml.

<?xml version = "1.0" encoding = "UTF-8"?>
<module rename-to = 'helloworld'>
   <!-- Inherit the core Web Toolkit stuff.                        -->
   <inherits name = 'com.google.gwt.user.User'/>

   <!-- Inherit the default GWT style sheet.                       -->
   <inherits name = 'com.google.gwt.user.theme.clean.Clean'/>

   <!-- Specify the app entry point class.                         -->
   <entry-point class = 'com.tutorialspoint.client.HelloWorld'/>

   <!-- Specify the paths for translatable code                    -->
   <source path = 'client'/>
   <source path = 'shared'/>

</module>

A seguir está o conteúdo do arquivo de folha de estilo modificado war/HelloWorld.css.

body {
   text-align: center;
   font-family: verdana, sans-serif;
}

h1 {
   font-size: 2em;
   font-weight: bold;
   color: #777777;
   margin: 40px 0px 70px;
   text-align: center;
}

.gwt-RichTextArea {
   padding:10px; 
}

A seguir está o conteúdo do arquivo host HTML modificado war/HelloWorld.html.

<html>
   <head>
      <title>Hello World</title>
      <link rel = "stylesheet" href = "HelloWorld.css"/>
      <script language = "javascript" src = "helloworld/helloworld.nocache.js">
      </script>
   </head>

   <body>
      <h1>RichTextArea Widget Demonstration</h1>
      <div id = "gwtContainer"></div>
   </body>
</html>

Vamos ter o seguinte conteúdo do arquivo Java src/com.tutorialspoint/HelloWorld.java que demonstrará o uso do widget TextBox.

package com.tutorialspoint.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RichTextArea;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class HelloWorld implements EntryPoint {
   public void onModuleLoad() {
      //create RichTextArea elements
      RichTextArea richTextArea = new RichTextArea(); 
      
      richTextArea.setHeight("200");
      richTextArea.setWidth("200");
      
      //add text to text area
      richTextArea.setHTML("<b>Hello World!</b> <br/> <br/>" + 
	  "<i>Be Happy!</i> </br> <br/> <u>Stay Cool!</u>");

      // Add text boxes to the root panel.
      VerticalPanel panel = new VerticalPanel();
      panel.add(richTextArea);      

      RootPanel.get("gwtContainer").add(panel);
   }	
}

Quando você estiver pronto com todas as alterações feitas, vamos compilar e rodar o aplicativo em modo de desenvolvimento como fizemos no capítulo GWT - Criar Aplicativo . Se tudo estiver bem com sua aplicação, isso produzirá o seguinte resultado -