2. JTextArea es un componente básico de la librería
Swing de Java y su función principal es la de capturar
y mostrar texto ingresado desde teclado por el
usuario.
Definición
3. Utilidad
• Permite mostrar o imprimir gran cantidad de texto en una ventana, o
pedirle a l usuario que lo ingrese y realizar diversas operaciones con el.
• Debemos mencionar que el JTextArea debe ir acompañado de un JFrame
(ventana que contendrá el JTextArea ) y un JScrollPane (barras de
desplazamiento para el texto)
• El Jframe hace posible que el JTextArea funcione, y el JScrollPane permite
que el texto se presente mejor en el JTextArea.
4. • También tenemos dos propiedades de los JTextArea que nos ayudan a organizar
las líneas de texto:
• 1-) Nombre de_JTextArea.setLineWrap(true); /*divide en líneas el texto, de
lo contrario todo el texto se imprime en una sola línea */
• 2-) Nombre de_JTextArea.setWrapStyleWord(true); /*Divide el texto en
líneas pero no respeta las sílabas, por esto los dos métodos se deben
usar en conjunto para que el texto se imprima adecuadamente */
5. Nota: estos métodos son útiles cuando se desea
imprimir una cadena de texto desde el entorno de
Net Beans, no cuando se le solicita al usuario
introducir el texto.
6. Métodos
void append(String, str): este método se utiliza para completar palabras, lo que
hace el str es que coloca el texto antes de la palabra que este desplegada.
• Ejemplo: si se tuviera un texto en el TextArea llamado “sub” si lo llamaremos
a pantalla seria de la siguiente manera .
miDespliegue.appendText(“marino”);
Esto hace que el texto cambie de marino a “Submarino”
7. void insert (String cadena, int posicion): Este método lo que hace es que inserta
a la cadena de texto actual un argumento en en sitio que se indique el argumento de
posición
• Ejemplo: si miDespliegue del TextArea contenía originalmente “reto" y se le
agrega la llamada
miDespliegue.insertText("la",2); argumento 2
El resultado seria: relato porque se agrega los argumentos en dicho lugar
1234
8. void replaceRange (string cadena, int inicio, int fin): Sustituye el texto existente
entre posiciones inicio (que se incluye en el remplazo) y fin (que no se incluye) con la
cadena del argumento.
• Ejemplo: Si mi dezpliegue de TextArea contenía originalmente “hola", tras la
llamada:
miDespliegue.replaceText("*",1,3); El resultado es h*la
9. Métodos mas Usados en JTextArea:
• setRows public void (int filas): es utilizado para específicamente la cantidad de
filas.
• setColumns public void (int cols): es utilizado para especificar el numero de
columnas.
• Public void setFont(Font f): se usa para especificar el tamaño de la fuente.
• Public void inserto (String s, int posición): se usa para insertar texto
especifico en una posición especifica.
• Public void append (String s): se utiliza para ingresar texto que se da al final
del documento
10. JTextArea es un componente que crea un área de texto;
este componente pertenece al paquete java.lang.Object
y tiene algunas propiedades que debemos conocer:
Propiedades
11. 1. La primera es su tamaño, si el JTextArea no posee ningún parámetro inicial su
tamaño seria de 1 fila de alto y cero pixeles de ancho, no obstante, con el
constructor del JTextArea podremos colocar las filas y columnas que sean
necesarias, pero además, podremos agregar algún texto si se requiere:
JTextArea jtx = new JTextArea(); //sin parámetros
JTextArea jtx = new JTextArea(10,50); //número de filas y columnas
JTextArea jtx = new JTextArea("Texto dentro de JTextArea"); //cadena de texto
12. 2. La segunda es que un JTextArea no tiene barras de scroll. Por lo q no se vería la
totalidad del texto si se escribe demasiado. Para evitar este problema tenemos en java
el JScrollPane, un panel que admite dentro un componente. Para ingresar nuestro
JTextArea dentro del JScrollPane debemos agregarlo como parámetro, y para que se
activen los scroll debemos agregarle un comando específico, este método se llama:
setViewportView() del JScrollPane y se implementa de la siguiente forma:
JScrollPane scroll = new JScrollPane();
scroll.setViewportView(jtx);3
13. 3. La tercera es que el JTextArea por defecto no hace automáticamente los saltos de
líneas. Esto quiere decir que debemos hacer manualmente los saltos de línea, ya que
si no se hace esto nuestro texto se escribiría en una línea de varios kilómetros. Para
solucionar este problema existen dos métodos:
a. Cortar las líneas de forma automática, pero este método no respeta las
palabras.
b. Este método se complementa con el primero haciendo que las palabras se
corten sólo cuando encuentra un espacio cerca.
Los métodos son los siguientes:
14. a) jtx.setLineWrap(true); /* Para que haga el salto de línea en cualquier parte de la
palabra*/
b) jtx.setWrapStyleWord(true); /* Para que haga el salto de línea buscando espacios
entre las palabras*/
4. La cuarta es que nuestros JTextArea pueden ser editados por el usuario o puede
ser de sólo lectura, dependiendo de la propiedad setEditable(), el valor booleano
false sólo da permiso de lectura:
texto.setEditable(false);
15. 5. La quinta y la más importante que debemos mencionar es que podemos
modificar muchas cosas a nuestro JTextArea tales como: el tamaño, color, tipo y
fuente de la letra además del fondo. La forma más simple de modificar las letras es
crear un tipo de letra y luego entregarla como parámetro:
Font font = new Font("Verdana", Font.ITALIC, 12);
jtx.setFont(font);
Cuando creamos el tipo de fuente primero debemos entregar el nombre de la
fuente, luego el formato en que la queremos:
Normal=PLAIN
Cursiva=ITALIC
Negrita=BOLD
16. Y finalmente el tamaño de la letra.
Para cambiar el color de la letra debemos utilizar el método:
jtx.setForeground(Color.white);
Para cambiar el color de fondo de nuestro JTextArea debemos utilizar el método:
jtx.setBackground(Color.black);
En ambos casos disponemos de varios colores ya designados:
BLACK
BLUE
CYAN
DARK_GRAY
GRAY
GREEN