Está en la página 1de 23

01. EJERCICIO GUIADO.

JAVA: CUADROS DE VERIFICACIÓN

1. Realiza un nuevo proyecto.


2. En la ventana principal debes añadir lo siguiente:
a. Un botón “Aceptar” llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.
3. Añade también tres cuadros de verificación. Estos cuadros son objetos
del tipo JCheckBox.

4. Añade tres JCheckBox y cambia el texto de ellos, de forma que


aparezca “Perro”, “Gato” y “Ratón”.
5. Debe cambiar el nombre de cada uno de ellos. Se llamarán: chkPerro,
chkGato, chkRaton.
6. La ventana tendrá el siguiente aspecto cuando termine:

7. El programa debe funcionar de la siguiente forma:

Cuando el usuario pulse aceptar, en la etiqueta aparecerá un mensaje


indicando qué animales han sido “seleccionados”. Para ello hay que
programar el evento actionPerformed del botón Aceptar. En ese evento
añada el siguiente código:

1
String mensaje="Animales elegidos: ";
if (chkPerro.isSelected()) {
mensaje=mensaje+"Perro ";
}

if (chkGato.isSelected()) {
mensaje=mensaje+"Gato ";
}

if (chkRaton.isSelected()) {
mensaje=mensaje+"Raton ";
}

etiResultado.setText(mensaje);

8. Observa el código. En él se hace lo siguiente:


a. Se crea una variable de cadena llamada mensaje.
b. En esa variable se introduce el texto “Animales elegidos: “
c. Luego, compruebo si está seleccionada la casilla de verificación
chkPerro. Si es así concateno a la cadena mensaje la palabra “Perro”.
d. Luego compruebo si está seleccionada la casilla de verificación
chkGato y hago lo mismo.
e. Lo mismo con la casilla chkRaton.
f. Finalmente presento la cadena mensaje en la etiqueta
etiResultado.
9. Observa el método isSelected() propio de las casillas de verificación,
permiten saber si una casilla está activada o no.
10. Ejecute el programa. Seleccione por ejemplo las casillas Gato y Ratón.
Al pulsar Aceptar el resultado debe ser el siguiente:

CONCLUSIÓN
Los cuadros de verificación (JCheckBox) se usan cuando quieres
seleccionar varias opciones.

2
02. EJERCICIO GUIADO. JAVA: BOTONES DE OPCIÓN

11. Realiza un nuevo proyecto.


12. En la ventana principal debes añadir lo siguiente:
a. Un botón “Aceptar” llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.

13. Añade un panel. Un panel es una zona rectangular que puede contener
elementos (botones, etiquetas, etc) La forma de poner un panel es a través del
objeto JPanel.

14. Una vez añadido el panel en el JFrame, le pondremos un borde para poder
localizarlo fácilmente. Debes hacer lo siguiente:
a. Selecciona el panel que has añadido.
b. Activa la propiedad Border (botón con tres puntos)
c. Busca el tipo de borde llamado TitledBorder (borde con título) y pon el
título colores.

3
15. Tu ventana debe quedar más o menos así:

16. Ahora debes añadir tres botones de opción (botones de radio) dentro del panel.
Estos botones son objetos del tipo JRadioButton.

17. Añade tres JRadioButton y cambia el texto de ellos, de forma que aparezca
“Rojo”, “Verde” y “Azul”.
18. Debe cambiar el nombre de cada uno de ellos. Se llamarán: optRojo, optVerde,
optAzul.
19. La ventana tendrá el siguiente aspecto cuando termine:

4
20. Si ejecuta el programa, observará que pueden seleccionarse varios colores a la
vez. Esto no es interesante, ya que los botones de opción se usan para activar
solo una opción entre varias.

21. Hay que hacer que solo un botón de opción pueda estar seleccionado a la vez.
Para ello, debe añadir un nuevo objeto. Realice los siguientes pasos:

a. Añada un objeto del tipo ButtonGroup al formulario. ¡Atención! Este


objeto es invisible, y no se verá en el formulario, sin embargo, lo podrás ver
en el Inspector, en la parte de “Otros Componentes”:

b. Tienes que darle un nombre al ButtonGroup. El nombre será


“grupoColores”.
c. Ahora, hay que conseguir que los tres botones pertenezcan al mismo
grupo. Es decir, que pertenezcan al grupo grupoColores.
d. Selecciona el botón de opción optRojo y cambia su propiedad
buttonGroup, indicando que pertenece al grupo colores (observa la imagen):

5
e. Haz lo mismo con los botones optVerde y optAzul.

22. Acabas de asociar los tres botones de opción a un mismo grupo. Esto produce
que solo una de las tres opciones pueda estar activada. Pruébelo ejecutando el
programa.

23. Ahora interesa que la opción “Rojo” salga activada desde el principio. Una
forma de hacer esto es programando en el “Constructor” lo siguiente:

optRojo.setSelected(true);

El método setSelected hace que se pueda activar o desactivar un botón de


opción.

Prueba el programa. Observa como la opción Rojo está activada inicialmente.

24. El programa no está terminado aún. Interesa que cuando el usuario pulse el
botón Aceptar, en la etiqueta aparezca el color elegido. Para ello, en el
actionPerformed del botón Aceptar programe lo siguiente:

String mensaje="Color elegido: ";

if (optRojo.isSelected()) {
mensaje=mensaje+"Rojo";
} else if (optVerde.isSelected()) {
mensaje=mensaje+"Verde";
} else if (optAzul.isSelected()) {
mensaje=mensaje+"Azul";
}

etiResultado.setText(mensaje);

6
25. Observa el código. En él se hace lo siguiente:

a. Se crea una variable de cadena llamada mensaje.


b. En esa variable se introduce el texto “Color elegido: “
c. Luego se comprueba que opción está seleccionada, usando el método
isSelected de los botones de opción. Este método te dice si un botón
está seleccionado o no.
d. Según la opción que esté seleccionada, se añade un texto u otro a la
cadena mensaje.
e. Finalmente se muestra la cadena mensaje en la etiqueta etiResultado.

26. Ejecute el programa. Seleccione por ejemplo la Verde. Al pulsar Aceptar el


resultado debe ser el siguiente:

CONCLUSIÓN

Los botones de opción, también llamados botones de radio (JRadioButton) se


usan cuando quieres que el usuario pueda elegir una opción de entre varias.

Es interesante que los botones de radio aparezcan dentro de un panel JPanel. Se


recomienda colocar un borde al panel.

Es totalmente necesario añadir un objeto del tipo ButtonGroup, y hacer que los
botones de radio pertenezcan a dicho grupo. En caso contrario, será posible
activar varios botones de opción a la vez.

7
03. EJERCICIO GUIADO. JAVA: CUADROS DE LISTA

1. Realiza un nuevo proyecto.


2. En la ventana principal debes añadir lo siguiente:
a. Un botón “Aceptar” llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.

3. Añade un cuadro de lista. Los cuadros de listas son objetos JList.

4. Cámbiale el nombre al JList. Ten cuidado, ya que en los JList aparecen


siempre dentro de otro objeto llamado jScrollPane. Si miras en el Inspector,
verás que al pulsar en el botón + del jScrollPane aparecerá tu JList:

5. Aprovecha para cambiarle el nombre al JList. El nuevo nombre será lstColores.

8
6. Si te fijas en el JList, consiste en un cuadro que contiene una serie de Items.
Estos elementos pueden ser cambiados a través de la propiedad Model del
JList.

7. Busca la propiedad Model y haz clic en el botón de los tres puntos. Aparecerá
un cuadro de diálogo parecido al siguiente. Solo tienes que seleccionar los
elementos que quieras y pulsar el botón “Borrar” (Remove) para eliminarlos de
la lista.

8. Puedes añadir elementos escribiéndolos en el cuadro Artículo y luego pulsando


el botón “Añadir” (Add).

9. Debes hacer que la lista sea la siguiente:

Rojo
Verde
Azul

10. Ahora programaremos el actionPerformed del botón Aceptar. Debes introducir


el siguiente código:

String mensaje;

mensaje="El color seleccionado es:


"+lstColores.getSelectedValue().toString();
etiResultado.setText(mensaje);

9
11. Observa el código:

a. Se crea una variable de cadena llamada mensaje.


b. Y dentro de esta variable se introduce una concatenación de cadenas.
c. Observa la parte: lstColores.getSelectedValue(), esta parte
devuelve el valor seleccionado de la lista.
d. Hay que tener en cuenta que este valor no es una cadena, por eso hay
que convertirla a cadena añadiendo .toString().
e. De esta manera puedes extraer el elemento seleccionado de un cuadro
de lista.
f. Luego simplemente ponemos la cadena mensaje dentro de la etiqueta.

12. Ejecuta el programa y observa su funcionamiento. Por ejemplo, si seleccionas


el color verde y pulsas aceptar el resultado será el siguiente:

13. Vamos a mejorar el programa. Puede suceder que el usuario no seleccione


ningún valor del cuadro de lista, y sería interesante en este caso que el
programa avisara de ello. Cambie el código del botón Aceptar por este otro
código:

String mensaje;

if (lstColores.getSelectedIndex()==-1) {
mensaje="No hay un color seleccionado.";
} else {
mensaje="El color seleccionado es:
"+lstColores.getSelectedValue().toString();
}
etiResultado.setText(mensaje);

14. Observa el código:

10
a. El método getSelectedIndex me dice el índice del elemento que está
seleccionado.
b. Por ejemplo, si está seleccionado el primero el índice es 0, si está
seleccionado el segundo el índice es 1, etc.
c. Si este método devuelve -1, entonces es señal de que no hay ningún
elemento seleccionado.
d. Aprovecho esto para mostrar un mensaje indicando lo sucedido.

15. Si ejecuta el programa y pulsa el botón Aceptar sin seleccionar nada el


resultado debería ser el siguiente:

16. Se podría haber prescindido del botón aceptar si el código anterior se hubiera
puesto en el evento mouseClicked del cuadro de lista en vez de en el
actionPerformed del botón Aceptar. En este caso, cada vez que se
seleccionara un elemento de la lista, automáticamente aparecería el mensaje
en la etiqueta.

Se anima a que realice esta modificación.

CONCLUSIÓN

El objeto JList permite crear cuadros de lista. Estos objetos contienen una serie
de elementos que pueden ser seleccionados.

A través del método getSelectedValue se puede obtener el elemento que está


seleccionado. (Recuerda convertirlo a cadena con toString)

A través del método getSelectedIndex se puede saber la posición del elemento


seleccionado. Si este índice es -1, entonces sabremos que no hay ningún
elemento seleccionado.

11
04. EJERCICIO GUIADO. JAVA: CUADROS COMBINADOS

1. Realiza un nuevo proyecto.

2. En la ventana principal debes añadir lo siguiente:

a. Una etiqueta con borde llamada etiResultado.

3. Añade un cuadro combinado (combo). Los cuadros combinados son objetos


del tipo JComboBox. Básicamente, un combo es una lista desplegable.

4. Cámbiale el nombre al JComboBox. El nombre será cboColores. Tu programa


debe tener más o menos este aspecto.

5. Los elementos del cboColores pueden ser cambiados a través de la propiedad


Model. Selecciona el combo y activa la propiedad Model (el botoncito con los
tres puntos) Aparecerá lo siguiente:

12
6. Al igual que pasaba con los cuadros de lista, se pueden eliminar los elementos
que contiene el combo y añadir elementos propios. Use los botones Añadir y
Eliminar para añadir la siguiente lista de elementos:

Rojo
Verde
Azul

7. Ejecuta el programa y observa el funcionamiento del desplegable...

13
8. Vamos a hacer que cuando se elija un elemento del desplegable, en la etiqueta
aparezca un mensaje indicando el color elegido.

Para ello, debes programar el evento actionPerformed del combo y añadir el


siguiente código:

String mensaje="El color elegido es ";

mensaje=mensaje+cboColores.getSelectedItem().toString();
etiResultado.setText(mensaje);

9. Este código hace lo siguiente:

a. Crea una variable de cadena.


b. Concatena dentro de ella el mensaje “El color elegido es” con el color
seleccionado.
c. Observa el método getSelectedItem, se usa para saber el elemento
seleccionado del combo. Es necesario convertirlo a texto con toString.
d. Finalmente se coloca el mensaje en la etiqueta.

10. Ejecuta el programa y comprueba su funcionamiento. Por ejemplo, si elegimos


el color verde, el aspecto del programa será el siguiente:

11. Los cuadros combinados pueden funcionar también como cuadros de texto. Es
decir, pueden permitir que se escriba texto dentro de ellos. Para hacer esto,
basta con cambiar su propiedad “editable” y activarla.

14
12. Ejecuta el programa y observa como se puede escribir dentro del combo. Al
pulsar Enter, el programa funciona igualmente con el texto escrito.

Se escribe aquí y
se pulsa enter

CONCLUSIÓN

Los combos son listas desplegables donde se puede elegir una de las opciones
propuestas.

Los combos pueden funcionar también como cuadros de textos, si se activa la


opción editable.

A través del método getSelectedItem se puede extraer la opción seleccionada o


el texto escrito en el combo.

15
05. EJERCICIO GUIADO. JAVA: MODELOS DE CUADRO DE LISTA

1. Realiza un nuevo proyecto.

2. En la ventana principal debes añadir lo siguiente:

a. Una etiqueta con borde llamada etiResultado.

3. Añade un cuadro de lista al formulario (JList).

4. Borra todo el contenido de la lista (propiedad model) y cámbiale el nombre a la


lista. La lista se llamará lstNombres. Recuerda que las listas aparecen dentro
de un objeto del tipo JScrollPane.

5. Añade dos botones al formulario. Uno de ellos tendrá el texto “Curso 1” y se


llamará btnCurso1 y el otro tendrá el texto “Curso 2” y se llamará btnCurso2.

16
6. En el evento actionPerformed del botón “Curso 1” programa lo siguiente:

DefaultListModel modelo = new DefaultListModel();


modelo.addElement("Juan");
modelo.addElement("María");
modelo.addElement("Luis");
lstNombres.setModel(modelo);

7. En el evento actionPerformed del botón “Curso 2” programa lo siguiente:

DefaultListModel modelo = new DefaultListModel();


modelo.addElement("Ana");
modelo.addElement("Marta");
modelo.addElement("Jose");
lstNombres.setModel(modelo);

8. Explicación de los códigos anteriores:

a. Lo que hace cada botón es rellenar el cuadro de lista con una serie de
nombres. En el caso del botón “Curso 1”, la lista se rellena con los
nombres Juan, María y Luis, mientras que en el caso del botón “Curso
2”, la lista se rellena con los nombres Ana, Marta y Jose.

b. El contenido de un cuadro de lista es lo que se denomina un “modelo”.


El “modelo” es un objeto que contiene el listado de elementos de la
lista.

c. Los modelos de las listas son objetos del tipo DefaultListModel.

d. Lo que hace el programa es crear un “modelo”. Luego rellena el


“modelo” con datos, y finalmente asocia el “modelo” al cuadro de lista.
Veamos como se hace todo esto.

17
e. Primero se crea el “modelo”, a través de la siguiente instrucción (será
necesario añadir el import correspondiente, atento a la bombillita):

DefaultListModel modelo = new DefaultListModel();

f. El “modelo” tiene un método llamado addElement que permite introducir


datos dentro de él. Así pues usamos este método para añadir los datos
al modelo.

modelo.addElement("Ana");
modelo.addElement("Marta");
modelo.addElement("Jose");

g. Finalmente asociamos el “modelo” creado al cuadro de lista de la


siguiente forma:

lstNombres.setModel(modelo);

h. Así pues, aquí tienes una forma de cambiar el contenido de un cuadro


de lista desde el propio programa.

9. Prueba a ejecutar el programa. Observa como cuando pulsas cada botón


cambia el contenido de la lista:

Click y cambia el
listado.

10. Ahora añade el siguiente código al evento mouseClicked del cuadro de lista:

etiResultado.setText(lstNombres.getSelectedValue().toString());

Esta instrucción hace que al seleccionar un elemento del cuadro de lista éste
aparezca en la etiqueta etiResultado. Recuerda que el método

18
getSelectedValue permite recoger el elemento seleccionado (hay que
convertirlo a cadena con toString)

11. Ejecuta el programa:

Click y aparece
el elemento
seleccionado en
la etiqueta.

12. Una propuesta. Añada un botón “Vaciar” llamado btnVaciar. Este botón vaciará
el contenido de la lista. Para esto lo único que tiene que hacer es crear un
modelo y, sin introducir ningún valor en él, asociarlo al cuadro de lista.

CONCLUSIÓN

Un cuadro de lista es un objeto que contiene a su vez otro objeto denominado


“modelo”.

El objeto “modelo” es el que realmente contiene los datos de la lista.

Cuadro de lista  Modelo  Datos

Se puede crear un “modelo” y luego introducir datos en él. Luego se puede


asociar ese “modelo” a la lista. De esta manera se puede cambiar el contenido
de la lista en cualquier momento.

19
06. EJERCICIO GUIADO. JAVA: MODELOS DE CUADRO DE LISTA

1. Realiza un nuevo proyecto.

2. En la ventana principal debes añadir lo siguiente:

a. Un combo llamado cboNumeros.


b. Un botón “Pares” llamado btnPares.
c. Un botón “Impares” llamado btnImpares.
d. Una etiqueta con borde llamada etiResultado.

3. Elimina todos los elementos que contenga el combo. Recuerda, debes usar la
propiedad “model” del combo para cambiar sus elementos.

4. Después de haber hecho todo esto, tu ventana debe quedar más o menos así:

5. En el evento actionPerformed del botón Pares, programa lo siguiente:

int i;

DefaultComboBoxModel modelo = new DefaultComboBoxModel();

for (i=0;i<10;i+=2) {
modelo.addElement("Nº "+i);
}

cboNumeros.setModel(modelo);

6. Observa lo que hace este código:


a. Crea un objeto “modelo” para el combo.

Al igual que pasa con los cuadros de lista, los combos tienen un objeto
“modelo” que es el que realmente contiene los datos. En el caso de los
combos, para crear un objeto “modelo” se usará esta instrucción:

DefaultComboBoxModel modelo = new DefaultComboBoxModel();

20
b. A continuación, se usa el objeto “modelo” creado y se rellena de datos.
Concretamente, se rellena con los números pares comprendidos entre 0
y 10.

c. Observa el uso de la propiedad addElement para añadir un elemento al


modelo del combo.

d. Se ha usado un bucle for para hacer la introducción de datos en el


modelo más fácil.

e. Finalmente, se asocia el modelo al combo a través de la siguiente línea,


con lo que el combo aparece relleno con los elementos del modelo:

cboNumeros.setModel(modelo);

7. Ejecuta el programa y observa el funcionamiento del botón Pares.

Se pulsa y se rellena
automáticamente

8. El botón Impares es similar. Programa su actionPerformed como sigue:

int i;
DefaultComboBoxModel modelo = new DefaultComboBoxModel();

for (i=1;i<10;i+=2) {
modelo.addElement("Nº "+i);
}

cboNumeros.setModel(modelo);

9. La única diferencia de este código es el for, que está diseñado para que se
introduzcan los números impares comprendidos entre 0 y 10 dentro del
modelo.

21
10. Finalmente se programará el actionPerformed del combo para que al
seleccionar un elemento este aparezca en la etiqueta. Esto se hace con una
simple instrucción:

etiResultado.setText(cboNumeros.getSelectedItem().toString());

Recuerda el uso de getSelectedItem() para recoger el elemento seleccionado, y


el uso de toString() para convertirlo a texto.

11. Prueba el programa. Prueba los botones Pares e Impares y prueba el combo.

12. Sería interesante añadir un botón “Vaciar” llamado btnVaciar que vaciara el
contenido del combo. Esto se haría simplemente creando un modelo vacío y
asignarlo al combo. Se anima al alumno a que realice esta mejora.

CONCLUSIÓN

Un combo, al igual que los cuadros de lista, es un objeto que contiene a su vez
otro objeto denominado “modelo”.

El objeto “modelo” es el que realmente contiene los datos del combo.

Combo  Modelo  Datos

Se puede crear un “modelo” y luego introducir datos en él. Luego se puede


asociar ese “modelo” al combo. De esta manera se puede cambiar el contenido
del combo en cualquier momento.

22
23

También podría gustarte