Saltar al contenido principal

TextArea

Abrir en ChatGPT
Sombra dwc-textarea 24.10
Java API

El componente TextArea proporciona un campo de entrada de texto de varias líneas donde los usuarios pueden escribir y editar bloques más largos de texto. Soporta límites máximos de caracteres, estructura de párrafos, ajuste de líneas y reglas de validación para controlar cómo se maneja la entrada.

Creando un TextArea​

Crea un TextArea pasando una etiqueta a su constructor. Propiedades como texto de marcador de posición, límites de caracteres y comportamiento de ajuste pueden configurarse a través de métodos de establecimiento.

Gestión de párrafos​

El componente TextArea proporciona características para manejar párrafos de texto, lo que lo hace ideal para aplicaciones que requieren edición de documentos o entrada de texto estructurado.

Aquí hay un ejemplo rápido de cómo construir y manipular el contenido de los párrafos:

TextArea textArea = new TextArea();

// Insertar un párrafo al principio
textArea.addParagraph(0, "Este es el primer párrafo.");

// Agregar otro párrafo al final
textArea.addParagraph("Aquí hay un segundo párrafo.");

// Agregar contenido adicional al primer párrafo
textArea.appendToParagraph(0, " Esta oración continúa la primera.");

// Eliminar el segundo párrafo
textArea.removeParagraph(1);

// Recuperar e imprimir todos los párrafos actuales
List<String> paragraphs = textArea.getParagraphs();
for (int i = 0; i < paragraphs.size(); i++) {
System.out.println("Párrafo " + i + ": " + paragraphs.get(i));
}

Validación​

El componente TextArea admite dos tipos complementarios de validación: restricciones estructurales y restricciones de contenido.

Las restricciones estructurales se centran en cómo se organiza y presenta visualmente el texto. Por ejemplo:

  • setLineCountLimit(int maxLines) restringe el número de líneas permitidas en el área de texto.
  • setParagraphLengthLimit(int maxCharsPerLine) limita el número de caracteres por párrafo (o línea), ayudando a hacer cumplir estándares de legibilidad o formato.

Las restricciones de contenido, por otro lado, se ocupan de la cantidad total de texto ingresado, independientemente de cómo esté distribuido:

  • setMaxLength(int maxChars) establece un límite máximo al número total de caracteres permitidos en todos los párrafos.
  • setMinLength(int minChars) impone una longitud mínima, asegurando que se proporcione suficiente contenido.

La siguiente demostración permite a los usuarios ajustar los límites de validación, como el conteo máximo de caracteres, la longitud de los párrafos y el conteo de líneas, en tiempo real y ver cómo responde el TextArea.

Ajuste de palabras y ajuste de líneas​

Puedes controlar si el texto se ajusta o se desplaza horizontalmente utilizando setLineWrap(). Cuando el ajuste está desactivado, las líneas continúan horizontalmente más allá del área visible, requiriendo desplazamiento. Cuando está habilitado, el texto se ajusta automáticamente a la siguiente línea cuando llega al borde del componente.

Para refinar aún más cómo se comporta el ajuste, setWrapStyle() te permite elegir entre dos estilos:

  • WORD_BOUNDARIES ajusta el texto en palabras completas, preservando el flujo natural de lectura.
  • CHARACTER_BOUNDARIES ajusta en caracteres individuales, permitiendo un control más estricto sobre la disposición, especialmente en contenedores estrechos o de ancho fijo.

Estas opciones de ajuste funcionan de la mano con restricciones estructurales como los límites de conteo de líneas y longitud de párrafos. Mientras que el ajuste determina cómo fluye el texto dentro del espacio disponible, los límites estructurales definen cuánto espacio se permite ocupar al texto. Juntos, ayudan a mantener tanto la estructura visual como los límites de entrada del usuario.

Texto predecido​

El componente TextArea admite sugerencias inteligentes de texto para ayudar a los usuarios a escribir más rápido y con menos errores. A medida que los usuarios ingresan texto, aparecen sugerencias predictivas basadas en la entrada actual, lo que les permite completar frases comunes o esperadas.

Las predicciones pueden aceptarse presionando la tecla Tab o ArrowRight, insertando el texto sugerido en la entrada de forma fluida. Si no hay ninguna predicción adecuada disponible en un momento dado, la entrada permanece sin cambios, y el usuario puede continuar escribiendo sin interrupciones, asegurando que la función nunca se interponga.

Este comportamiento predictivo mejora tanto la velocidad como la precisión, especialmente en escenarios de entrada repetitiva o aplicaciones donde la consistencia de la frase es importante.

info

Esta demostración utiliza la API Datamuse para proporcionar sugerencias de palabras basadas en la entrada del usuario. La calidad y relevancia de las predicciones dependen completamente del conjunto de datos y el mecanismo de puntuación de la API. No utiliza modelos de IA o modelos de lenguaje grandes (LLMs); las sugerencias se generan a partir de un motor ligero basado en reglas centrado en la similitud léxica.

Estado de solo lectura y desactivado​

El componente TextArea puede configurarse en modo solo lectura o desactivado para controlar la interacción del usuario.

Un área de texto solo lectura permite a los usuarios ver y seleccionar el contenido, pero no editarlo. Esto es útil para mostrar información dinámica o prellenada que debe permanecer sin cambios.

Por otro lado, un área de texto desactivada bloquea toda interacción, incluyendo el enfoque y la selección de texto, y típicamente se presenta como inactiva o atenuada.

Utiliza el modo solo lectura cuando el contenido es relevante pero inmutable, y el modo desactivado cuando la entrada no es actualmente aplicable o debería estar temporalmente inactiva.

Estilo​

Loading...

Sigue aprendiendo

Equipo de webforJ

¿Necesitas ayuda?

Habla con los ingenieros de webforJ sobre tu proyecto.

Agendar una llamada

Hablamos EN · DE · FR · ES