Como en el �rea de texto se muestra un gran bloque de texto, se necesita alg�n formateo. Los strings largos necesitan partirse en partes m�s peque�as que puedan unirse en una, y los parr�fos requieren nuevas l�neas entre ellos. Adem�s, podr�amos querer que el texto apareciera en una fuente o estilo espec�fico. Para estos tipos de formateos, el lenguaje Java usa:
- Concatenaci�n de Strings
- Secuencias de Caracteres
- M�todos Predefinidos
�Concatenaci�n de Strings
La uni�n de uno o m�s objetos String se llama una concatenaci�n strings. Para unir los strings para formar un objeto String, usamos el operador +. Los strings siempre van encerrados entre comillas " ". La primera comilla le dice al compilador que ha alcanzado el principio de un objeto String, y la siguiente comilla le dice que ha alcanzado el final de ese String.
El operador + le dice al compilador que almacene el siguiente objeto con el primer objeto y asigna el objeto concatenado a la variable del lado izquierdo del operador de asignaci�n =:
firstString = "Java Programming"; secondString = " is a lot of fun"; combineString = firstString + secondString;
Resulta en Java Programming is a lot of fun asignado a combineString. Obtenemos el mismo resultado con lo siguiente:
singleString =
"Java Programming" + " is a lot of fun.";
y tambi�n con:
singleString = "Java Programming" +
" is a lot of fun.";
Observa que cada pareja de comillas est� en una s�la l�nea. No importa si el operador de concatenaci�n est� en la primera o en la segunda l�nea, o si las parejas de comillas est�n en un a l�nea juntas. Si la pareja de comillas se rompe y la primera est� en una l�nea y la segunda comilla en la siguiente, obtendremos un error de compilaci�n como este:
unclosed string literal
println("Java Programming is
�Secuencias de Caracteres
La concatenaci�n de strings resuelve el problema de los strings largos que necesitamos romper, pero no crea espacios entre p�rrafos. Para crear una nueva l�nea en el texto necesitamos usar una secuencia de escape.
El caracter de barra invertida (\) es un caracter de escape que indica al compilador que queremos un caracter especial. Podemos escapar caracteres que queremos mostrar, como las comillas o < >. Adem�s, la barra invertida, en combinaci�n con ciertos caracteres, resulta en la inserci�n de un tabulador, un retorno de carro o una nueva l�nea.
Para crear un espacio de p�rrafo, usamos \n para insertar un caracter de nueva l�nea. Ahora podemos llenar el objeto JTextArea con el texto que queremos mostrar:
longString = new JTextArea("This shows you how to display" +
" long strings by concatenating them." +
" Enclose each string in quotes and" +
" concatenate each line with the + operator.");
Cambia el texto para que corresponda con las necesidades de tu aplicaci�n o usa el texto proporcionado.
| Sigue estos pasos... |
|---|
|
Observa que cada l�nea tiene un string encerrado entre comillas, seguido por el operador de concatenaci�n para unir los strings. La secuencia de escape \n crea una nueva l�nea, y \n\n crea dos nuevas l�neas para dar espacio extra entre p�rrafos.
�M�todos
La clase JTextArea tiene m�todos para manejar varios problemas de formateo:
- setFont(Font f)
Selecciona la fuente, el estilo o el tam�o de la fuente actual. - setLineWrap(boolean wrap)
Si se selecciona a true, las l�neas se parten si son demasiado largas para entrar en la anchura adecuada. Si se selecciona a false, las l�neas no son partidas. - setWrapStyleWord(boolean word)
Si se selecciona a true las l�neas se partir�n en un l�mite de palabra como un espacio en blanco. Si selecciona a false, las l�neas se partir�n en caracteres.
Hay muchos m�s m�todos en la clase JTextArea, pero los mostrados arriba son usados en la clase Welcome. Adem�s, JTextArea hereda m�todos de la clase JTextComponent. Un m�todo espec�ficamente usado en la clase Welcome:
- setEditable(boolean b)
Hace el componente de texto editable o no.
La clase JTextComponent tambi�n tiene muchos m�todos disponibles para usar el JTextArea como una caja de entrada para los usuarios. Estas caracter�sticas se mostrar�n en otras clases de la aplicaci�n Dive Log. Adem�s, JTextArea tiene otro constructor, que nos permite especificar un tama�o espec�fico, y que tambi�n veremos m�s adelante en este tutorial.
En el siguiente ejercicio de programaci�n, especificamos una fuente, un estilo y un tama�o para el �rea de texto, seleccionamos la ruptura de l�neas a true, y el estilo de ruptura a los l�mites de palabra, impidiendo que los usuarios lo editen poniendo setEditable a false.
| Sigue estos pasos... |
|---|
|
El m�todo setFont es llamado sobre el objeto ta usando el operador punto. Proporcionamos los argumentos del m�todo inicializando la clase Font con la palabra clave new.
El constructor de la clase Font necesita los siguientes argumentos:
- Un nombre de fuente como un String
- El el campo Style de la clase font con el operador punto.
- El tama�o en puntos.
Los tres m�todos setLineWrap, setWrapStyleWord, setEditable requieren una palabra clave booleana, lo que significa que se seleccionan a true o false. Seleccionar setLineWrap y setWrapStyleWord a true fuerza al objeto ta a partir la l�neas por el tama�o del �rea de ventana, y hace que las rupturas sean en los espacios en blanco entre palabras. El argumento false para el m�todo setEditable hace el �rea de texto de s�lo lectura y no permite ninguna caracter�stica de edici�n.
�Decorar con bordes
Los bordes decorativos son est�ticametne bonitos y permiten a los desarrolladores a�adir un t�pico a una secci�n, un objeto t�tulo. Adem�s ayudan al usuario a definir �reas especificas de la pantalla, o seccionar la pantalla en �reas l�gicas.
Podemos crear distintos tipos de bordes con m�todos de la clase BorderFactory. Primero, llamamos al m�todo setBorder de la clase JComponent.
| Sigue estos pasos... |
|---|
|
El nombre de la variable ta identifica el objeto que necesita un borde. El setBorder(Border border) toma a la clase BorderFactory como un argumento, llamando a su m�todo createTitledBorder con el operador punto, y proporciona el String a mostrar con el borde.
Pueba otros bordes, chequeando para ver los arguemntos que requieren en la documentaci�n de la clase BorderFactory
Para a�adir la �ltima imagen al panel Welcome:
| Sigue estos pasos... |
|---|
|
|
Nota:
Puedes escribir el �ltimo paso en una s�la l�nea. Aqu� lo hemos dividido por problemas de impresi�n, pero aun as� compila perfectamente si lo copias y lo pegas en tu clase por que las parejas de comillas no se han dividido. |
Hasta ahora hemos:
- Declarado tres variables.
- Inicializado y asignado los objetos a cada una de esas variables en el constructor.
- Enviado llamadas a m�todos sobre esos objetos para manipularlos usando el operador punto.
El �ltimo paso para completar este panel es a�adir los objetos cada uno a una regi�n de la distribuci�n. Esto nos lleva de vuelta al controlador de distribuci�n BorderLayout.
| Las constantes son f�ciles de identificar en el c�digo porque est�n escritas |
|---|