Elementos
de una Interfaz
Una
interfaz gráfica debe contener elementos en los que se puedan
definir etiquetas, campos de texto, botones, barras deslizadoras,
etc.
A
continuación mostraremos algunos elementos de la interfaz gráfica y
las diferentes maneras de utilizarlos:
Etiqueta
(Label)
La
etiqueta nos ayuda a definir los campos de texto que tecleará el
usuario, la clase para definida para esto es Label y existen
diferentes maneras de construir una etiqueta:
Label
(), Label
(String str), Label
(String str, int alignment).
El
primer constructor crea una etiqueta en blanco, el segundo crea una
etiqueta con el String mandado como parámetro y el tercero crea una
etiqueta con el String mandado y definiendo con how la manera en la
que se alineará esta etiqueta, siendo how uno de : Label.LEFT,
Label.RIGHT
o Label.CENTER.
Un
ejemplo de el uso de etiquetas pudiera ser:
import
java.awt.*;
import
java.applet.*;
//
<applet width="200" height="100"
code="AppletInterfaz1"></applet>
public
class AppletInterfaz1 extends Applet {
Label
l1, l2, l3;
public
AppletInterfaz1() {
l1 = new Label();
l2 = new
Label("etiqueta 2");
l3 = new
Label("etiqueta 3", Label.CENTER);
add(l1);
add(l2);
add(l3);
}
}
Mostrando
el applet:
Observamos
como es difícil entender que existe una etiqueta en blanco ahí, y
que la tercera etiqueta está alineada al centro.
Mas
adelante mostraremos de nuevo este applet, pero utilizando clases que
nos pueden servir para mejorar nuestra interfaz haciendo uso de
administradores de distribución que son llamados Layout Managers.
Por ahora continuemos con otros elementos.
Pudiera
quedarnos la duda de si ya creamos l1 como un objeto de la clase
Label, pero sin etiqueta, como la pudiéramos cambiar, esto lo
hacemos a través del método setText() ya manejado anteriormente, de
tal manera que pudiéramos utilizar l1.setText("etiqueta
1"); y así cambiar nuestra etiqueta.
Campo
Texto (TextField)
Un
campo texto nos sirve para introducir un dato del usuario a nuestra
aplicación, teniendo diferentes maneras de introducir un campo
texto:
TextField(),
TextField(int
numChars), TextField(String
str), TextField(String
str, int numChars).
El
primer constructor crea un campo texto, como ya lo hemos utilizado
anteriormente, el segundo constructor nos sirve para definir el
numero de caracteres que queremos puedan verse al introducir algún
dato, el tercer constructor nos sirve para definir algún texto
inicial que queramos le aparezca al usuario y el último constructor
es para usar ambas opciones, que le aparezca al usuario un cierto
texto inicialmente y tener un campo texto con una cantidad específica
de caracteres a ver.
Un
ejemplo del uso de estos constructores puede ser:
import
java.awt.*;
import
java.applet.*;
//
<applet width="300" height="100"
code="AppletInterfaz2"></applet>
public
class AppletInterfaz2 extends Applet {
TextField
t1, t2, t3, t4;
public
AppletInterfaz2() {
t1 = new TextField();
t2 = new TextField(10);
t3 = new
TextField("Texto3");
t4 = new
TextField("Texto4",10);
add(t1);
add(t2);
add(t3);
add(t4);
}
}
Y
la manera de visualizar esto sería:
De
esta forma observamos como el segundo y cuarto texto son más grandes
debido al tamaño que le pusimos al constructor.
Botón
(Button)
Con
esta clase podemos definir algún botón para que el usuario de
alguna acción que posteriormente pueda ser escuchada como un evento.
La
forma de crear botones son:
Button
(), Button(String
str).
Crear
un botón sin etiqueta o crear un botón con etiqueta. La manera de
cambiar la etiqueta a un botón o de asignar una si no la tiene seria
utilizando el método setLabel().
Una
aplicación que muestra el uso de estos dos constructores seria:
import
java.awt.*;
import
java.applet.*;
//
<applet width="200" height="100"
code="AppletInterfaz3"></applet>
public
class AppletInterfaz3 extends Applet {
Button
b1, b2;
public
AppletInterfaz3() {
b1 = new Button();
b2 = new
Button("boton2");
add(b1);
add(b2);
}
}
La
forma de visualizar esto es:
De
esta manera podemos revisar las dos formas de crear un botón.
Opciones
(Choice)
Esta
clase nos ayuda a utilizar menús de opciones, donde el usuario
fácilmente puede seleccionar una opción. La manera de hacer esto es
con el constructor:
Choice().
Al
crear un objeto de este tipo se le añaden las opciones que se desea
aparezcan en el menú, utilizando el método add() o addItem() y de
esta manera se van añadiendo las opciones al menú. Para saber que
valor se selecciono se utiliza el método getSelectedItem() o el
método getSelectedIndex(), el primero toma el String del elemento
seleccionado y el segundo te da el índice del elemento seleccionado.
Veamos una aplicación de este elemento gráfico:
import
java.awt.*;
import
java.applet.*;
import
java.awt.event.*;
//
<applet width="200" height="200"
code="AppletInterfaz4"></applet>
public
class AppletInterfaz4 extends Applet implements ItemListener{
Choice
ch1, ch2;
public
AppletInterfaz4() {
ch1 = new Choice();
ch2 = new Choice();
ch1.add("Primero");
ch1.add("Segundo");
ch1.add("Tercero");
ch1.add("Cuarto");
ch2.add("Uno");
ch2.add("Dos");
ch2.add("Tres");
ch2.add("Cuatro");
ch2.add("Cinco");
ch1.select("Cuarto");
add(ch1);
add(ch2);
ch1.addItemListener(this);
ch2.addItemListener(this);
}
public
void itemStateChanged(ItemEvent ie) {
repaint();
}
public
void paint(Graphics g) {
String msg = "Primer
menu = ";
msg +=
ch1.getSelectedItem();
g.drawString(msg,
0,100);
msg = "Segundo
menu = ";
msg
+= ch2.getSelectedItem();
g.drawString(msg,
0,140);
}
}
Algunos
ejemplos utilizando este applet serian (inicial y seleccionando otros
valores):
Además
de los métodos mencionados para esta clase están getItemCount() que
te da el número de elementos en la lista y hay otros más que te
conviene revisar en la clase Choice.
Lista
(List)
Esta
clase provee una compacta lista de múltiples opciones con el uso de
la barra deslizadora. Los constructores de esta clase son:
List(),
List(
int lineas) , List
(int lineas, boolean seleccionmultiple).
El
primer constructor crea una lista con el poder de selección de un
dato a la vez, el segundo constructor especifica el número de líneas
que serán visibles al mismo tiempo y el tercero con la opción de
selección múltiple en true, permitirá que se puedan seleccionar
mas de un elemento a la vez. El método add() puede ser utilizado
para añadir elementos a la lista, pero tiene dos opciones, la de
añadir un String o la de añadir un String en una cierta posición.
La
siguiente es una aplicación que lo utiliza:
import
java.awt.*;
import
java.applet.*;
import
java.awt.event.*;
//
<applet width="300" height="200"
code="AppletInterfaz5"></applet>
public
class AppletInterfaz5 extends Applet implements ItemListener{
List
ch1, ch2;
public
AppletInterfaz5() {
ch1 = new List();
ch2 = new List();
ch1.add("Primero");
ch1.add("Segundo");
ch1.add("Tercero",0);
ch1.add("Cuarto",0);
ch2.add("Uno");
ch2.add("Dos");
ch2.add("Tres");
ch2.add("Cuatro");
ch2.add("Cinco");
add(ch1);
add(ch2);
ch1.addItemListener(this);
ch2.addItemListener(this);
}
public
void itemStateChanged(ItemEvent ie) {
repaint();
}
public
void paint(Graphics g) {
String msg = "Primera
lista = ";
msg +=
ch1.getSelectedItem();
g.drawString(msg,
0,100);
msg = "Segunda
lista = ";
msg
+= ch2.getSelectedItem();
g.drawString(msg,
0,140);
}
}
Y
esto se mostrará de la siguiente manera (al inicio y con valores
seleccionados):
Área
de Texto (TextArea)
Este
elemento sirve para tomar datos o desplegar datos que tendrán más
de una línea. Existen
varios constructores:
TextArea(),
TextArea(int
lineas, int caracteres), TextArea(String
str),
TextArea(String,
str, int lineas, int caracteres), TextArea(String
str, int lineas, int caracteres, int barra)
Donde
líneas es el número de líneas, caracteres es el número de
caracteres, str es el String que deseamos aparezca y barra puede ser
uno de los siguientes: SCROLLBARS_BOTH, SCROLLBARS_HORIZONTAL_ONLY,
SCROLLBARS_VERTICAL_ONLY, SCROLLBARS_NONE, donde estos se deben
utilizar con el nombre de la clase como sufijo, ya que son constantes
estáticas, ejemplo: TextArea.SCROLLBARS_BOTH.
Un
ejemplo de aplicación que use esto seria:
import
java.awt.*;
import
java.applet.*;
//
<applet width="400" height="400"
code="AppletInterfaz6"></applet>
public
class AppletInterfaz6 extends Applet {
TextArea
ta1, ta2, ta3;
public
AppletInterfaz6() {
ta1
= new TextArea();
ta2 = new
TextArea("",10,12,TextArea.SCROLLBARS_HORIZONTAL_ONLY);
ta3 = new
TextArea("",5,5,TextArea.SCROLLBARS_BOTH);
add(ta1);
add(ta2);
add(ta3);
}
}
La
manera en la que se visualizaría es:
Existen
otros elementos gráficos, es importante que entres a la biblioteca
de clases de la awt en java para que te familiarices con ellas.
Enlaces:
No hay comentarios:
Publicar un comentario