You are on page 1of 38

PROGRAMACION JAVA Sistema E-learning

Introduccin
Antes de empezar con la actividad quiero dejarles en claro que a partir de este tema
trabajaremos en NetBeans por ser un IDE ms conveniente para trabajar con formularios,
si conocen otros IDEs tambin los pueden utilizar.
Aqu les dejo el link de descarga del NetBeans para que lo vayan descargando:
https://netbeans.org/downloads/8.0.1/
Instrucciones de descarga:
1. Vaya a https://netbeans.org/downloads/
2. En la parte superior derecha de la pgina, seleccione el idioma y la plataforma en
la lista desplegable. Tambin puede optar por descargar y utilizar el archivo zip
independiente de la plataforma.
3. Haga clic en el botn Descargar en la opcin de descarga que desee instalar.

4. Guarde el archivo del instalador en el sistema.


Observaciones:
1. No se olviden de cambiar el idioma a espaol, antes de empezar el proceso de
descarga.
2. Antes de instalar el Netbeans se debe instalar el JDK que sea compatible con el
sistema operativo de su mquina y superior al 7. El link de instalacin es el
siguiente:
http://www.oracle.com/technetwork/java/javase/downloads/java-archivedownloads-javase6-419409.html#jdk-6u21-b07-oth-JPR

Tema 4: Diseo de Aplicaciones de escritorio


Profesora: Zulma Anglica Argello Matas

Pgina 1

PROGRAMACION JAVA Sistema E-learning

4.1 Introduccin a la programacin grfica: Swing.


Java Swing provee algunos contenedores tiles para diferentes casos, as cuando
desarrollamos una Ventana podemos decidir de qu manera presentar nuestros elementos,
como sern alojados y de qu forma sern presentados al usuario.
Ha llegado la hora de comenzar a crear interfaces grficas. Todo esto corresponde a
un apartado entero dentro de lo que es Java. Digamos que la primera parte corresponda a
todo lo que tiene que ver con programacin estructurada en Java y programacin orientada a
objetos.
Swing es una biblioteca grfica para Java. Incluye widgets para interfaz grfica de
usuario tales como cajas de texto, botones, desplegables y tablas.
Prctica 1: Ejemplo Swing
Simple programa basado en Swing. Muestra una ventana (conteniendo una etiqueta y un botn)

f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setVisible(true);
}
});
}
}

4.2 JFrame.
El componente bsico que requerimos cada vez que implementamos una interfaz visual
con la librara Swing es la clase JFrame, tambin es conocido como contenedor de alto nivel,
pues da origen a una interfaz grfica y por tanto es la raz de ella. Esta clase encapsula una

Profesora: Zulma Anglica Argello Matas

Pgina 2

PROGRAMACION JAVA Sistema E-learning


Ventana clsica de cualquier sistema operativo con entorno grfico (Windows, OS X, Linux
etc.)
Esta clase se encuentra en el paquete javax.swing y como generalmente utilizamos
varias clases de este paquete luego para importarla utilizamos la sintaxis:
La estructura bsica que emplearemos para crear una interfaz visual ser:
Prctica 2: Ejemplo Frame

importamos el paquete donde se encuentra la clase JFrame:


import javax.swing.*;
Planteamos una clase que herede de la clase JFrame:
public class Formulario extends JFrame{
En el constructor indicamos que ubicaremos los controles visuales con coordenadas
absolutas mediante la desactivacin del Layout heredado (ms adelante veremos otras formas
de ubicar los controles visuales dentro del JFrame):
public Formulario() {
setLayout(null);
}
En el main creamos un objeto de la clase y llamamos a los mtodos setBounds y
setVisible:
public static void main(String[] ar) {
Formulario formulario1=new Formulario();
formulario1.setBounds(10,20,400,300);
formulario1.setVisible(true);
}
El mtodo setBounds ubica el JFrame (la ventana) en la columna 10, fila 20 con un
ancho de 400 pxeles y un alto de 300.
Debemos llamar al mtodo setVisible y pasarle el valor true para que se haga visible la
ventana.
Pero esta forma de trabajar con la clase JFrame es de poca utilidad ya que rara vez
necesitemos implementar una aplicacin que muestre una ventana vaca. Lo ms correcto es
plantear una clase que herede de la clase JFrame y extienda sus responsabilidades agregando
botones, etiquetas, editores de lnea etc.

Profesora: Zulma Anglica Argello Matas

Pgina 3

PROGRAMACION JAVA Sistema E-learning

Problema propuesto
1. Crear una ventana de 1024 pxeles por 800 pxeles. Luego no permitir que el operador
modifique el tamao de la ventana. Sabiendo que hacemos visible al JFrame llamando
al mtodo setVisible pasando el valor true, existe otro mtodo llamado setResizable
que tambin requiere como parmetro un valor true o false.

4.3 Jpanel, JDesktopPane, JScrollPane, JTabbedPane, JSplitPane.


Contenedores intermedios: estos contenedores van dentro de un contenedor de alto
nivel o de otro contenedor intermedio. Permiten estructurar la ubicacin de los componentes de
un GUI. Normalmente un contenedor de alto nivel ir seguido de uno o ms contenedores
intermedios. Esto ir quedando claro a medida que avancemos. Por ahora estoy hablando en el
aire. Ejemplos de contenedores de nivel medio que veremos son:

JPanel: Contenedor ms comn de componentes.

JDesktopPane: Un contenedor que permite manipular ventanas dentro de l.

JScrollPane: Un contenedor provisto de barras de desplazamiento.

JTabbedPane: Un contenedor que permite manipular pestaas.

JSplitPane: Un contenedor dividido a la mitad permitiendo trabajar con dos reas de


trabajo a la vez pudiendo modificar el tamao de estas mediante el Mouse.

4.3.1 JPanel
Este contenedor es uno de los ms simples, permite la creacin de paneles
independientes donde se almacenan otros componentes, de esta manera decidimos que
elementos se alojan en que paneles y dado el caso podemos usar sus propiedades para
ocultar, mover o delimitar secciones, cuando alojamos elementos en un panel, los cambios
mencionados se aplican a todo su conjunto, es decir, si nuestro panel tiene 5 botones y
ocultamos solo el panel, los botones tambin se ocultan.
Prctica 3: Ejercicio de JPanel
1. Crea un nuevo proyecto en java: Paneles. Y agregue un JFrame al mismo.

Se pretende crear un proyecto con una ventana de diseo complejo. Para ello sigue los
siguientes pasos:
2. En primer lugar, crea un Panel, realiza un clic derecho en JFrame y sigue estos pasos:

Profesora: Zulma Anglica Argello Matas

Pgina 4

PROGRAMACION JAVA Sistema E-learning

3. Acomoda este JPanel y modifica su medida de manera a que quede a lo largo de la


zona norte del JFrame

Panel en la zona norte.

4. Cambia el nombre a este panel y llmalo panelTitulo, ya que contendr el nombre del
programa.

5. Aade otro panel, esta vez a la parte centralsur

6. Aade un nuevo panel en la parte sur de la ventana. Su nombre ser panelDatos


El panel debera estar situado finalmente en el sur de la ventana:

7. Ahora se disear el panelTitulo. Haz doble clic sobre l.


8. Aade al panel dos etiquetas como las que siguen. Ponle un borde a cada una:

Profesora: Zulma Anglica Argello Matas

Pgina 5

PROGRAMACION JAVA Sistema E-learning

El Inspector tendr este aspecto en lo que se refiere al panelTitulo...

9. En el panelDatos agregaremos tres botones:

10. Finalmente ejecuta el programa y comprueba cmo se comportan los elementos segn
el panel donde se encuentre.

4.3.2 JDesktopPane
Este contenedor aloja componentes de tipoJInternalFrame, estos representan ventanas
internas, permitiendo as crear ventanas dentro de una ventana principal, al momento de su
creacin podemos manipular sus propiedades para definir si queremos redimensionarlas,
cerrarlas, ocultarlas entre otras.
Tambin podemos definir una posicin
inicial

de

cada

embargo despus de

ventana

interna,

presentadas

sin

podemos

moverlas por toda la ventana Principal donde


se encuentran alojadas.

4.3.3 JScrollPane

Profesora: Zulma Anglica Argello Matas

Pgina 6

PROGRAMACION JAVA Sistema E-learning

Este contenedor permite vincular barras de scroll o desplazamiento en nuestra


aplicacin, puede ser utilizado tanto en paneles como en otros componentes como
un JTextArea, hay que tener en cuenta que no es simplemente poner un scroll, es alojar el
componente (en este caso panel o rea de texto) en elJScrollPane.
Paneles de Desplazamiento
Llamaremos paneles de desplazamiento a paneles que contienen elementos tan
grandes que no pueden ser mostrados en su totalidad. Estos paneles contienen entonces dos
barras de desplazamiento que permiten visualizar el interior del panel de desplazamiento
correctamente.
Por ejemplo, un panel de desplazamiento podra contener una imagen tan grande que
no se viera entera:
Los paneles de desplazamiento son objetos del tipo JScrollPane.
Prctica 4: Ejercicio de JScrollPane
1. Vamos a practicar con los JScrollPane. Para ello, crea un nuevo proyecto y agrega un
JFrame al mismo.
2. Aade en el proyecto un JScrollPane.

3. Un JScrollPane, por s mismo, no contiene nada. Es necesario aadir dentro de l el


objeto que contendr. Para nuestro ejemplo aadiremos dentro de l una etiqueta
(JLabel)
4. El formulario debe tener ahora este aspecto:

5. Si observas el Inspector vers claramente la distribucin de los objetos:

Profesora: Zulma Anglica Argello Matas

Pgina 7

PROGRAMACION JAVA Sistema E-learning

Observa como tienes un JScrollPane que contiene una etiqueta.


6. Aprovechemos el Inspector para cambiar el nombre a cada objeto. Al JScrollPane le
llamaremos scpImagen y a la etiqueta etiImagen.

7. Elimina el texto contenido en la etiqueta etiImagen. Solo tienes que borrar el contenido
de la propiedad text.
8. Luego introduciremos una imagen dentro de la etiqueta, a travs de la propiedad icon.
La imagen la introduciremos desde fichero, y elegiremos la siguiente imagen de tu
disco duro:
Imgenes / Imgenes de Muestra / Nenfares.jpg (sino encuentras esta imagen,
puedes colocar otra de tamao grande)
9. Esta imagen es tan grande que no se podr ver entera dentro del panel de
desplazamiento. Ejecuta el programa y observars el uso de las barras de
desplazamiento dentro del panel.

10. Puedes mejorar el programa si agrandas el panel de desplazamiento de forma que


ocupe todo el formulario:

De esta forma, cuando ejecutes el programa, al agrandar la ventana, se agrandar el


panel de desplazamiento, vindose mejor la imagen contenida.
11. Ejecuta el programa y comprubalo.

Profesora: Zulma Anglica Argello Matas

Pgina 8

PROGRAMACION JAVA Sistema E-learning

Ejercicio propuesto de ScrollPane 2


Los JScrollPane no solo estn diseados para contener imgenes. Pueden contener cualquier
otro elemento. Vamos a ver, con otro proyecto de ejemplo, otro uso de los JScrollPane.
1. Crea un nuevo proyecto.
2. Aade a la ventana una etiqueta con el texto Ejemplo 2 de JScrollPane y un
JScrollPane de forma que est asociado a los lmites de la ventana. Observa la
imagen:

3. Ahora aade dentro del JScrollPane un panel normal (JPanel). En la ventana no


notars ninguna diferencia, pero en el Inspector debera aparecer esto:

4. Como ves, el JScrollPane contiene a un objeto JPanel.


5. Aprovechemos para cambiar el nombre a ambos objetos. Al JScrollPane lo llamaremos
scpDatos y al JPanel lo llamaremos panelDatos.

6. Los JPanel son objetos contenedores. Es decir, pueden contener otros objetos como
por ejemplo botones, etiquetas, cuadros de texto, etc.
Adems, los JPanel pueden ser diseados independientemente de la ventana. Haz
doble clic sobre el panelDatos en el Inspector y observa lo que ocurre:
7. En la pantalla aparecer nicamente el JPanel, para que puede ser diseado aparte de
la ventana completa:

Profesora: Zulma Anglica Argello Matas

Pgina 9

PROGRAMACION JAVA Sistema E-learning


8. Para distinguirlo de lo que es en s la ventana, haremos las siguientes cosas con el
panel:
-

Cambia el color de fondo y asgnale un color verde.

Aade en l una etiqueta con el texto Panel de Datos.

Aade varias etiquetas y cuadros de textos correspondientes a los das de la semana.

Agranda el panel.
El panel debera quedar as. Toma como referencia esta imagen:

Es muy interesante que observes el Inspector. En l podrs observar la distribucin de


los objetos en la ventana. Podrs ver como el JFrame contiene un JScrollPane
(scpDatos) que a su vez contiene un JPanel (panelDatos) que a su vez contiene una
serie de etiquetas y cuadros de textos a los que an no les hemos asignado un
nombre:

9. Haz doble clic sobre el JFrame (en el Inspector) para poder ver globalmente la ventana.
En la pantalla debera aparecer esto:

Como ves, el JPanel contenido en el JScrollPane es ms grande que l, por lo que no


se podr visualizar completamente. Ser necesario usar las barras de desplazamiento
del JScrollPane.
10. Ejecuta el programa para entender esto ltimo.

Profesora: Zulma Anglica Argello Matas

Pgina 10

PROGRAMACION JAVA Sistema E-learning

4.3.4 JTabbedPane
Este tal vez sea otro de los componentes
ms usados, permite la creacin de unas pestaas
en nuestra ventana, cada pestaa representa un
contenedor independiente donde podemos alojar
paneles u otros elementos.

4.3.5 JSplitPane
Este componente permite la creacin
de un contenedor dividido en 2 secciones,
muchas veces usado en aplicaciones donde
una

seccin

presenta

una

lista

de

propiedades y otra seccin presenta el


elemento al que le aplicamos dicha lista, cada
seccin puede ser manipulada por aparte y
redimensionar sus componentes.

5. Componentes bsicos Controles Swing


Estos son los componentes que dan funcionalidad a una interfaz grfica. Siempre van
contenidos en un contenedor intermedio. Algunos de los que veremos son:

5.1 JLabel
La clase Label(etiqueta) se utiliza para mostrar Strings en un componente.
Tiene 3 constructoras:

Label(): La constructora por defecto, crea una etiqueta con un String vaco.

Label(String etiq): Etiq es el String a mostrar.

Label(String etiq, int alineamiento): Permite indicar si la etiqueta se mostrar en


el espacio reservado para ella en el component alineada a la izquierda
(constante Label.LEFT), a la derecha (Label.RIGHT) o centrada
(Label.CENTER).

Aparte de los mtodos heredados de Object y Component, esta clase tiene dos mtodos
importantes:

setText(String etiq): Para modificar el contenido de la etiqueta.

String getText(): Devuelve el contenido actual de la etiqueta.

5.2 JRadioButton y ButtonGroup.


Botones circulares: La clase RadioButton se utiliza para presentar opciones en un componente.
Se agrupan de manera que slo uno est pulsado
Constructores
JRadioButtons([String,] [Icon,] [boolean])

Profesora: Zulma Anglica Argello Matas

Pgina 11

PROGRAMACION JAVA Sistema E-learning


Mtodos de instancia
Para agruparlos, se crea una instancia de ButtonGroup y se
aaden con add(AbstractButton)

Prctica 5: Ejercicio de JRadioButton y ButtonGroup


1. Realiza un nuevo proyecto.
2. En la ventana de diseo debes aadir lo siguiente:
a. Un botn Aceptar llamado btnAceptar.
b. Una etiqueta con borde llamada
etiResultado.
3. Aade un panel. Un panel es una zona
rectangular que puede contener elementos
(botones, etiquetas, etc) La forma de poner
un panel es a travs del objeto JPanel.

4. Una vez aadido el panel en el JFrame, le pondremos un borde para poder localizarlo
fcilmente. Debes hacer lo siguiente:
a. Selecciona el panel que has aadido.
b. Activa la propiedad Border (botn con tres puntos)
c. Busca el tipo de borde llamado TitledBorder (borde con ttulo) y pon el ttulo
colores.

5. Tu ventana debe quedar ms o menos as:

Profesora: Zulma Anglica Argello Matas

Pgina 12

PROGRAMACION JAVA Sistema E-learning

6. Ahora debes aadir tres botones de opcin


(botones de radio) dentro del panel. Estos
botones son objetos del tipo JRadioButton.
7. Aade tres JRadioButton y cambia el texto de
ellos, de forma que aparezca Rojo, Verde y Azul.
8. Debe cambiar el nombre de cada uno de ellos. Se llamarn: optRojo, optVerde,
optAzul.
9. La ventana tendr el siguiente aspecto cuando termine:

10. Si ejecuta el programa, observar que pueden seleccionarse varios colores a la vez.
Esto no es interesante, ya que los botones de opcin se usan para activar solo una
opcin entre varias.
11. Hay que hacer que solo un botn de opcin pueda estar seleccionado a la vez. Para
ello, debe aadir un nuevo objeto. Realice los siguientes pasos:
a. Aada un objeto del tipo ButtonGroup al formulario. Atencin! Este objeto es
invisible, y no se ver en el formulario, sin embargo, lo podris ver en el
Inspector, en la parte de Otros Componentes:

Profesora: Zulma Anglica Argello Matas

Pgina 13

PROGRAMACION JAVA Sistema E-learning

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 botn de opcin optRojo y cambia su propiedad buttonGroup,
indicando que pertenece al grupo colores (observa la imagen):

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


12. Acabas de asociar los tres botones de opcin a un mismo grupo. Esto produce que
solo una de las tres opciones pueda estar activada. Prubelo ejecutando el programa.
13. Ahora interesa que la opcin Rojo salga activada desde el principio. Una forma de
hacer esto es programando en el Constructor lo siguiente:
optRojo.setSelected(true);
El mtodo setSelected hace que se pueda activar o desactivar un botn de opcin.
Prueba el programa. Observa como la opcin Rojo est activada inicialmente.

Profesora: Zulma Anglica Argello Matas

Pgina 14

PROGRAMACION JAVA Sistema E-learning

rea del
Constructor

14. El programa no est terminado an. Interesa que cuando el usuario pulse el botn
Aceptar, en la etiqueta aparezca el color elegido. Para ello, en el actionPerformed del
botn 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);
15. Observa el cdigo. 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 opcin est seleccionada, usando el mtodo
isSelected de los botones de opcin. Este mtodo te dice si un botn est
seleccionado o no.
d. Segn la opcin que est seleccionada, se aade un texto u otro a la cadena
mensaje.
e. Finalmente se muestra la cadena mensaje en la etiqueta etiResultado.
16. Ejecute el programa. Seleccione por
ejemplo la Verde. Al pulsar Aceptar el
resultado debe ser el siguiente:

5.3 JCheckBox.
Casillas de activacin: La clase CheckBox se utiliza para presentar opciones en un
componente.
Se agrupan de manera que varios puedan estar pulsados.
Marcadores

Profesora: Zulma Anglica Argello Matas

Pgina 15

PROGRAMACION JAVA Sistema E-learning


Constructores
JCheckBox([String,] [Icon,] [boolean])
Mtodos de instancia
String getText()
void setText(String)
boolean isSelected()
void setSelected(boolean)
Prctica 6: Ejercicio de JCheckBox
1. Realiza un nuevo proyecto.
2. Archivo/Proyecto Nuevo/JAVA/Aplicacin JAVA.
3. Colocar el nombre de la aplicacin (Ej.: Practica1) y presionar EXAMINAR para elegir
la ubicacin en donde deseamos que se guarde nuestra aplicacin.
4. Realizar un clic derecho en el nombre de la aplicacin contenida en el Paquetes de
fuentes (en mi caso Practica1), de las opciones que aparecen elegir Formulario
JFrame, cambiar el nombre (Ej.: Form1)
5. En la ventana de Diseo debes aadir lo siguiente:
a. Un botn Aceptar llamado btnAceptar.
b. Una etiqueta con borde (propiedad border) llamada etiResultado.
Obs: el nombre de la variable se cambia en la ficha Codigo y el texto para
mostrar en la ficha Propiedades, en la propiedad text.
6. Aade tambin tres cuadros de verificacin. Estos cuadros son objetos del tipo
JCheckBox.

7. Aade tres JCheckBox y cambia el texto de ellos, de forma que aparezca Perro,
Gato y Ratn.
8. Debe cambiar el nombre de cada uno de
ellos. Se llamarn: chkPerro, chkGato,
chkRaton.
9. La ventana tendr el siguiente aspecto
cuando termine:
10. 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 botn Aceptar (Ir a la pestaa Eventos, luego desplegar las
opciones del evento actionPerfomed y elegir btnActionPerfomed). En ese evento aada
el siguiente cdigo:

Profesora: Zulma Anglica Argello Matas

Pgina 16

PROGRAMACION JAVA Sistema E-learning

Observa el cdigo. En l se hace lo siguiente:

11.
12.
13.
14.

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 verificacin chkPerro. Si
es as concateno a la cadena mensaje la palabra Perro.
d. Luego compruebo si est seleccionada la casilla de verificacin chkGato y
hago lo mismo.
e. Lo mismo con la casilla chkRaton.
f. Finalmente presento la cadena mensaje en la etiqueta etiResultado.
Observa el mtodo isSelected() propio de las casillas de verificacin, permiten saber si
una casilla est activada o no.
Antes de ejecutar ir al men Ejecutar/Establecer la configuracin del
proyecto/Personalizar, clic en Examinar y elegir Practica1.Form1.
Luego ejecute el programa. (Presionar la tecla F6)
Seleccione por ejemplo las casillas Gato y Ratn. Al pulsar Aceptar el resultado debe
ser el siguiente:

5.4 JComboBox.
Lista desplegable: Permite la seleccin de un item de entre varios.
No est desplegado como Jlist
Constructores
JComboBox() JComboBox(Object [])
JComboBox(Vector) JComboBox(ListModel)
Mtodos de instancia
int getSelectedIndex()
Object getSelectedItem()
void setSelectedIndex(int)
boolean isEditable()
void setEditable(boolean)

Profesora: Zulma Anglica Argello Matas

Pgina 17

PROGRAMACION JAVA Sistema E-learning


Prctica 7: Ejercicio de JComboBox
1. Realiza un nuevo proyecto.
2. En la ventana de diseo debes aadir lo siguiente:
a. Una etiqueta con borde llamada
etiResultado.
3. Aade un cuadro combinado (combo). Los
cuadros combinados son objetos del tipo
JComboBox. Bsicamente, un combo es una lista
desplegable.
4. Cmbiale el nombre al JComboBox. El nombre ser cboColores. Tu programa debe
tener ms o menos este aspecto.

5. Los elementos del cboColores pueden ser cambiados a travs de la propiedad Model.
Selecciona el combo y activa la propiedad Model (el botoncito con los tres puntos)
Aparecer lo siguiente:

6. Al igual que pasaba con los cuadros de lista, se pueden eliminar los elementos que
contiene el combo y aadir elementos propios. Use los botones Aadir y Eliminar para
aadir la siguiente lista de elementos:
Rojo, Verde, Azul.
7. Ejecuta el programa y observa el
funcionamiento del desplegable...

Profesora: Zulma Anglica Argello Matas

Pgina 18

PROGRAMACION JAVA Sistema E-learning


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 aadir el siguiente
cdigo:
String mensaje="El color elegido es ";
mensaje=mensaje+cboColores.getSelectedItem().toString();
etiResultado.setText(mensaje);
9. Este cdigo 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 mtodo 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 tambin 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.

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

Se escribe aqu y
se pulsa enter

5.5 JButton.
Este componente es bsico; sobre el suelen recaer las acciones del usuario y a
menudo en sus escuchas asociadas se realiza la parte ms complicada del programa. La

Profesora: Zulma Anglica Argello Matas

Pgina 19

PROGRAMACION JAVA Sistema E-learning


filosofa que se sigue es vlida para otros componentes que no discutimos aqu, como los
mens.
Tiene 2 constructoras:

Button(): Botn con un mensaje vaco.

Button(String etiq): Etiq es el String a mostrar como mensaje.

Algunos de los mtodos ms importantes, adems de los heredados de Component, son:

void setLabel(String label) : Cambia la etiqueta del botn.

String getLabel() : Devuelve la etiqueta actual.

void setActionCommand(String command): Asocia un String al botn.


Este String no se mostrar por pantalla, sino que se utilizar como identificador
del botn.

void addActionListener(ActionListener l): Para aadir una escucha que pueda


reaccionar cuando se pulsa el botn. Se explica en el apartado siguiente.

5.6 JTextFiel
Este componente se utiliza comnmente para leer datos de teclado.
Constructoras para TextField:

TextField(): Constructora por defecto conteniendo la cadena vaca y con 0


columnas.

TextField(int columnas): Contenido vaco pero longitud prefijada inicial.

TextField(String texto) Campo de texto con un valor inicial.

TextField(String texto, int columnas): Las dos anteriores combinadas.

Mtodos
La clase TextField coincide con las clases anteriores en la definicin de los
mtodos setText(String cadena) y String getText(). Algunos otros mtodos de inters:

setEchoChar(Char c): Indica el carcter que aparece cuando se introduce un


valor y se usa para introducir palabras clave. setEchoChar(0) hace que el
carcter que aparece sea el carcter pulsado.

setEditable(boolean): Si se pone a false no se podr escribir sobre el campo de


edicin.

int getSelectionStart(), int getSelectionEnd(): Para saber el trozo de texto que


ha sido seleccionado por el usuario. Muy til para las acciones de "Copiar",
"Cortar" y "Pegar".

void setSelectionStart(int inicio), void setSelectionEnd(int fin): Para marcar una


porcin de texto. En realidad setSelectionEnd(int fin) indica una posicin ms
all de la ltima a marcar. Por ejemplo, para marcar los caracteres 2,3 y 4
(tercer, cuarto y quinto carcter) se utilizara:

texto.setSelectionStart(2);

texto.setSelectionEnd(5);

Eventos
En cuanto a los eventos, la diferencia principal con la clase Button es que el
mtodo ActionEvent de la clase escucha se utiliza cuando se pulsa Enter. Tambin se puede
controlar cual es la tecla pulsada, como veremos al hablar de los eventos de teclado, pero
estos eventos no son especficos de la clase TextField sino comunes a todos los Component.

5.7 JTextArea.
Profesora: Zulma Anglica Argello Matas

Pgina 20

PROGRAMACION JAVA Sistema E-learning


Es similar a TextField con la diferencia de que al presentarse en pantalla permite introducir
cdigo que ocupa ms de una lnea.
Constructoras

TextArea(): rea de texto con una cadena vaca. Tamao de alrededor de 55


filas por 15 columnas

TextArea(int filas, int columnas): Fija el nmero de filas y columnas. Si el


nmero excede el tamao del TextArea se incluyen automticamente las
barras de desplazamiento.

TextArea(String texto): Texto inicial.

TextArea(String texto, int filas, int columnas): Texto inicial con filas y columnas
prefijadas.

TextArea(String texto, int filas, int columnas, int barras): Aade al anterior la
posibilidad de controlar la existencia de barras de desplazamiento. Los
posibles valores de barras son:
o

SCROLLBARS_BOTH

SCROLLBARS_HORIZONTAL_ONLY

SCROLLBARS_NONE

SCROLLBARS_VERTICAL_ONLY

Mtodos y Eventos
Los mtodos y eventos son como los de TextField con algunos mtodos aadidos, entre los
que podemos destacar:

void replaceRange(String str, int start, int end) : Cambia el texto entre las
posiciones start y end por el texto str.

insert(String str, int pos): Inserta el texto en la posicin indicada.

append(String str): Aade el texto indicado al final.

5.8 JPasswordField.
Se comparta como un TextField (campo de texto), con la diferencia que en este control
no se muestran los datos ingresados. Se pueden dejar programado eventos que avise al
usuario que las teclas maysculas estn activas, que delimite la cantidad de caracteres a
ingresar, etc.

5.9 JSlider.
La clase JSlider (Deslizador) permite crear objetos como el siguiente:

Estos elementos tienen un pequeo recuadro que se puede arrastrar a derecha o izquierda.
Segn la posicin del recuadro, el JSlider tendr un valor concreto.
El JSlider se puede configurar para que muestre los distintos valores que puede tomar:

Profesora: Zulma Anglica Argello Matas

Pgina 21

PROGRAMACION JAVA Sistema E-learning


Tambin se puede configurar de forma que los valores mnimo y mximo sean distintos:

El valor que tiene un JSlider es el valor al que apunta el recuadro del JSlider. En la imagen
anterior, el JSlider tiene un valor de 85.

Prctica 8: Ejercicio de JSlider


1. Crea un nuevo proyecto.
2. Aade en l un JSLider. Su nombre ser slDeslizador.

3. Aade una etiqueta con borde. Su nombre ser etiValor.


4. La ventana tendr el siguiente aspecto:

5. Un JSlider tiene un valor mnimo y un valor mximo. El valor mnimo es el valor que
tiene cuando el recuadro est pegado a la parte izquierda, mientras que el valor
mximo es el valor que tiene cuando el recuadro est pegado a la parte derecha.
El valor mnimo y mximo del JSlider se puede cambiar. Busca las propiedades
maximum y minimum del JSlider y asigna los siguientes valores:
Mximo: 500, Mnimo: 100

6. Se puede asignar un valor inicial al JSlider a travs de su propiedad value. Busque esta
propiedad y asigne un valor de 400. Observe donde se sita el recuadro del JSlider.

7. Se puede mejorar el JSlider definiendo unas divisiones (medidas) Por ejemplo,


haremos que cada 50 unidades aparezca una divisin. Para ello use la propiedad
majorTickSpacing y asigne un 50.

8. Esto, en realidad, no produce ningn cambio en el JSlider. Para que las divisiones se
vean, es necesario que active tambin la propiedad paintTicks. Esta propiedad pintar
divisiones en el JSlider:

Profesora: Zulma Anglica Argello Matas

Pgina 22

PROGRAMACION JAVA Sistema E-learning

Medidas cada 50
unidades

9. An se puede mejorar la presentacin del JSlider, si hacemos que aparezca el valor de


cada divisin. Para ello debes activar la propiedad paintLabel.

10. Ejecuta el programa para ver el funcionamiento del Deslizador y su aspecto. Debe ser
parecido al siguiente:

11. Bien. Ahora se pretende que cuando el usuario arrastre el deslizador, en la etiqueta
aparezca el valor correspondiente. Para ello tendr que programar el evento
stateChanged del JSlider.
El evento stateChanged sucede cuando el usuario arrastra el recuadro del deslizador.
En este evento programe lo siguiente:
etiValor.setText("El valor es: "+slDeslizador.getValue());
12. Ejecute el programa y observe lo que sucede cuando arrastra el deslizador.
13. La explicacin del cdigo es la siguiente:
a. El mtodo getValue del deslizador nos devuelve el valor que tiene actualmente
el deslizador.
b. Este valor es concatenado a la cadena El valor es: y es mostrado en la
etiqueta a travs del conocido setText.
Movemos aqu.

Y aparece el valor
correspondiente aqu.

14. A continuacin se mencionan otras propiedades interesantes de los JSlider que puedes
probar por tu cuenta:
orientation
Permite cambiar la orientacin del JSlider. Podras por ejemplo hacer que el JSlider
estuviera en vertical.
minorTickSpacing

Profesora: Zulma Anglica Argello Matas

Pgina 23

PROGRAMACION JAVA Sistema E-learning


Permite asignar subdivisiones a las divisiones ya asignadas. Prueba por ejemplo a
asignar un 10 a esta propiedad y ejecuta el programa. Observa las divisiones del
JSlider.
snapToTicks
Cuando esta propiedad est activada, no podrs colocar el deslizador entre dos
divisiones. Es decir, el deslizador siempre estar situado sobre una de las divisiones.
Prueba a activarla.
paintTrack
Esta propiedad permite pintar o no la lnea sobre la que se desliza el JSlider. Prueba a
desactivarla.

5.10 JTable.
Es un componente utilizado para mostrar y editar las habituales tablas bidimensionales
con celdas.

5.11 JList.
Muestra una lista de elementos para su seleccin.
Constructores
JList() JList(Object [])
JList(Vector) JList(ListModel)

Mtodos de instancia
int getSelectedIndex() // -1 si no hay
int [] getSelectedIndices()
Object getSelectedValue()
Object [] getSelectedValues()
boolean isSelectedIndex(int)
boolean isSelectionEmpty([])
void setListData(Object)
void setListData(Vector)
void setSelectionMode(int)
get selectionMode()
...
Constantes
ListSelectionModel.SINGLE_SELECTION
ListSelectionModel.SINGLE_INTERVAL_SELECTION
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION

Prctica 9: Ejercicio de JList


1. Realiza un nuevo proyecto.

Profesora: Zulma Anglica Argello Matas

Pgina 24

PROGRAMACION JAVA Sistema E-learning


2. En la ventana de diseo debes aadir lo siguiente:
a. Un botn Aceptar llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.
3. Aade un cuadro de lista. Los cuadros de listas son objetos JList.

4. Cmbiale el nombre al JList. Ten cuidado, ya que en los JList aparecen siempre dentro
de otro objeto llamado jScrollPane. Si miras en el Inspector, vers que al pulsar en el
botn + del jScrollPane aparecer tu JList:

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


6. Si te fijas en el JList, consiste en un cuadro que contiene una serie de Items. Estos
elementos pueden ser cambiados a travs de la propiedad Model del JList.
7. Busca la propiedad Model y haz clic en el botn de los tres puntos. Aparecer un
cuadro de dilogo parecido al siguiente. Solo tienes que seleccionar los elementos que
quieras y pulsar el botn Borrar (Remove) para eliminarlos de la lista.
8. Puedes aadir elementos escribindolos en el cuadro Artculo y luego pulsando el
botn Aadir (Add).

Profesora: Zulma Anglica Argello Matas

Pgina 25

PROGRAMACION JAVA Sistema E-learning

9. Debes hacer que la lista sea la siguiente:


Rojo, Verde, Azul
10. Ahora programaremos el actionPerformed del botn Aceptar. Debes introducir el
siguiente cdigo:
String mensaje;
mensaje="El color seleccionado es: "+lstColores.getSelectedValue().toString();
etiResultado.setText(mensaje);
11. Observa el cdigo:
a. Se crea una variable de cadena llamada mensaje.
b. Y dentro de esta variable se introduce una concatenacin 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 aadiendo .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 ningn
valor del cuadro de lista, y sera interesante en este caso que el programa avisara de
ello. Cambie el cdigo del botn Aceptar por este otro cdigo:

Profesora: Zulma Anglica Argello Matas

Pgina 26

PROGRAMACION JAVA Sistema E-learning

Observa el cdigo:
a. El mtodo 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 mtodo devuelve -1, entonces es seal de que no hay ningn elemento
seleccionado.
d. Aprovecho esto para mostrar un mensaje indicando lo sucedido.
Si ejecuta el programa y pulsa el botn
Aceptar sin seleccionar nada el resultado
debera ser el siguiente:

14. Se podra haber prescindido del


botn aceptar si el cdigo anterior
se hubiera puesto en el evento
mouseClicked del cuadro de lista
en vez de en el actionPerformed
del botn Aceptar. En este caso,
cada vez que se seleccionara un
elemento de la lista,
automticamente aparecera el
mensaje en la etiqueta.
Intente realizar esta modificacin.

6. Mens Swing
Las barras de mens son un conjunto de objetos de distinto tipo que se contienen unos
a los otros:
- La barra en s est representada por un objeto del tipo JMenuBar.
- La barra contiene opciones principales, representadas por objetos JMenu.
- Las opciones principales contienen opciones que aparecen al desplegarse el men. Esta
opciones son objetos del tipo JMenuItem.
- Un JMenu tambin puede contener otros JMenu, que a su vez contendrn JMenuItems.
- Tambin puede aadir separadores (JSeparator) que permiten visualizar mejor las opciones
dentro de un men.

6.1 JMenus: JMenuItem


Barras de Mens

Profesora: Zulma Anglica Argello Matas

Pgina 27

PROGRAMACION JAVA Sistema E-learning


La barra de mens nos permitir acceder a las opciones ms importantes del
programa. Todo programa de gran envergadura suele tener una barra de mens.

Prctica 10: Ejercicio de JMens: JMenuItem


1. Veamos como aadir una barra de mens a nuestras aplicaciones. En primer lugar,
crea un proyecto con el NetBeans.
2. Aade a tu ventana un objeto JMenuBar

3. En la parte superior de tu ventana aparecer esto:

4. En el inspector (parte inferior izquierda) observars como aparece un objeto JMenuBar,


y, dentro de l, un objeto del tipo JMenu. Los objetos JMenu representan las opciones
principales contenidas dentro de la barra de mens.

5. Aprovecha el Inspector para cambiar el nombre al objeto JMenuBar. Llmalo


barraMenus.
6. Cambia tambin el nombre al objeto JMenu. Asgnale el nombre menuArchivo. El
Inspector tendr el siguiente aspecto:

7. Ahora, la nica opcin de la barra de mens muestra el texto Menu. Esto se puede
cambiar seleccionndola y cambiando su propiedad text. Asgnale el texto Archivo a
la opcin del men:

8. Ahora el aspecto de la barra


de mens ser el siguiente:
9. Puedes aadir ms
opciones principales a la
barra de mens haciendo clic con el derecho sobre el objeto de la barra de mens y
activando la opcin Aadir JMenu.

Profesora: Zulma Anglica Argello Matas

Pgina 28

PROGRAMACION JAVA Sistema E-learning

10. Aada dos opciones ms a la barra de mens. El inspector debe tener ahora el
siguiente aspecto:

11. Y la barra de mens presentar


este otro aspecto:
12. Cambia los nombres de las dos nuevas opciones. Sus nombres sern: menuEdicion y
menuInsertar.

13. Cambia los textos de ambas


opciones. Sus textos sern:
Edicin e Insertar.
14. Ya tenemos creada la barra de mens (JMenuBar) con sus opciones principales
(JMenu). Ahora se tendrn que definir las opciones contenidas en cada opcin
principal. Por ejemplo, crearemos las opciones contenidas en el men Archivo.
15. Haz clic con el botn derecho sobre el objeto menuArchivo y activa la opcin Aadir
JMenuItem.

Los JMenuItem son objetos que representan las opciones contenidas en los mens
desplegables de la barra de mens.
16. Aade un JMenuItem ms al menuArchivo y luego cambia el nombre a ambos. Sus
nombres sern menuItemAbrir y menuItemGuardar. El aspecto del Inspector ser el
siguiente:

Profesora: Zulma Anglica Argello Matas

Pgina 29

PROGRAMACION JAVA Sistema E-learning

17. Usa ahora la propiedad Text de ambos JMenuItem para asignarles un texto. El primero
tendr el texto Abrir y el segundo el texto Guardar.
18. Ya podemos ejecutar el programa para ver que es lo que se ha conseguido. Use el
men:

Observa como la opcin Archivo se despliega mostrando dos submens: Abrir y


Guardar.
19. Seguiremos aadiendo elementos al men. Ahora haga clic con el derecho sobre el
elemento menuArchivo y aada un JSeparator.

Los JSeparator son objetos que definen una separacin entre las opciones de un men.
Cmbiele el nombre y llmelo separador1:
20. Aada un nuevo JMenuItem al men Archivo y ponle el nombre menuSalir. El texto de
esta opcin ser Salir (use su propiedad text) El aspecto del Inspector ser el
siguiente:

21. Ejecuta el programa y observa el contenido de la opcin Archivo del men:

Observa el efecto que produce el separador.

Profesora: Zulma Anglica Argello Matas

Pgina 30

PROGRAMACION JAVA Sistema E-learning


22. Un JMenu representa las opciones principales de la barra de mens. A su vez, un
JMenu contiene JMenuItem, que son las opciones contenidas en cada opcin principal,
y que se ven cuando se despliega el men.
Sin embargo, un JMenu puede contener a otros JMenu, que a su vez contendrn varios
JMenuItem. Usando el botn derecho del ratn y la opcin Aadir, aade un JMenu
dentro de menuEdicion:

23. Llama al nuevo JMenu menuColores y asignale el texto Colores.

24. Ahora aade dentro del menuColores tres JMenuItem llamados respectivamente:
menuItemRojo, menuItemVerde, menuItemAzul. Sus textos sern Rojo, Verde y
Azul.

25. Ejecuta el programa y observa como ha quedado el


men Edicin:
La opcin Edicin (JMenu) contiene una opcin Colores (JMenu) que a su vez contiene
las opciones Rojo, Verde y Azul (JMenuItems)
26. De nada sirve crear un men si luego este no reacciona a las pulsaciones del ratn.
Cada objeto del men tiene un evento ActionPerformed que permite programar lo que
debe suceder cuando se active dicha opcin del men.
27. Marque en el inspector el objeto menuItemRojo y acceda a su evento ActionPerformed.
Dentro de l programe este sencillo cdigo:
this.getContentPane().setBackground(Color.RED);
Este cdigo cambia el color de fondo de la ventana a rojo.

Profesora: Zulma Anglica Argello Matas

Pgina 31

PROGRAMACION JAVA Sistema E-learning


28. Compruebe el funcionamiento de la opcin Rojo del men ejecutando el programa.
29. Programa t mismo las opciones Verde y Azul.

6.2 JCheckBoxMenuItem
Clase JCheckBoxMenuItem
Todas las interfaces implementadas:
ImageObserver , ItemSelectable , MenuContainer , Serializable , accesible , MenuElem
ent , SwingConstants
public class JCheckBoxMenuItem
extiende JMenuItem
implementa SwingConstants , Accesible
Un elemento de men que puede activarse o desactivarse. Si se selecciona, el elemento de
men tpicamente aparece con una marca de verificacin junto a l. Si no est seleccionado
o seleccionada, la opcin de men aparece sin una marca de verificacin. Como un
elemento del men regular, una casilla de verificacin opcin de men puede tener ya sea
texto o un icono grfico asociado a l, o ambos.
De cualquier isSelected / setSelected o getState / setState se puede utilizar para determinar
/ especificar el estado de seleccin de la opcin de men. Los mtodos preferidos
son isSelected y setSelected ,
que
funciona
para
todos
los
mens
y
botones. Los getState y setState existen mtodos para la compatibilidad con otros conjuntos
de componentes.
Los elementos de men se pueden
configurar, y en cierta medida
controlados, por Action s. El uso de
una Action con un elemento de men
tiene muchos beneficios ms all de la
configuracin
directamente
un
elemento
de
men. Consulte
la oscilacin
componentes
de
apoyo Action para ms detalles.

6.3 JRadioButtonMenuItem.
Clase JRadioButtonMenuItem
Todas las interfaces implementadas:
ImageObserver , ItemSelectable , MenuContainer , Serializable , accesible , MenuElem
ent , SwingConstants
public class JRadioButtonMenuItem
extiende JMenuItem
implementa Accesible
Una implementacin de un elemento
de
men
de
botones
de
radio. Un JRadioButtonMenuItem es
un
elemento de men que es parte de un
grupo de elementos de men en el que
slo un elemento del grupo puede ser

Profesora: Zulma Anglica Argello Matas

Pgina 32

PROGRAMACION JAVA Sistema E-learning


seleccionado. El elemento seleccionado muestra su estado seleccionado. La seleccin se
hace cualquier otro elemento seleccionado para cambiar al estado no seleccionado. Para
controlar el estado seleccionado de un grupo de botones de radio elementos de men,
utilice un ButtonGroup objeto.
Los elementos de men se pueden configurar, y en cierta medida controlados,
por Action s. El uso de una Action con un elemento de men tiene muchos beneficios ms
all de la configuracin directamente un elemento de men.

7. JFileChooser. JColorChooser. JToolBar.


7.1 JFileChooser
Los objetos JFileChooser permiten mostrar cuadros de dilogos como Abrir Fichero o
Guardar Fichero.
- Estos objetos no abren ni guardan ficheros, solo permiten al usuario elegir el fichero a abrir o
guardar de forma sencilla.
- El JFileChooser devuelve el camino del fichero elegido, y luego el programador trabajar con
dicho fichero como mejor le interese.
Cuadros de dilogo Abrir y Guardar
Las opciones Abrir y Guardar son opciones muy comunes en las aplicaciones. Estas
opciones permiten buscar en el rbol de carpetas del sistema un fichero en concreto y abrirlo, o
bien guardar una informacin dentro de un fichero en alguna carpeta.
Java proporciona una clase llamada JFileChooser (elegir fichero) que permite mostrar
la ventana tpica de Abrir o Guardar:
Ventana Abrir fichero:

(La ventana de guardar es la misma, solo que muestra en su barra de ttulo la palabra Guardar)
El objeto JFileChooser nos facilita la labor de elegir el fichero, pero no realiza la
apertura o la accin de guardar la informacin en l. Esto tendr que ser programado.

Prctica 11: Ejercicio de JFileChooser


1. Vamos a practicar con el JFileChooser. Para ello, crea un nuevo proyecto.
2. Aade en el proyecto los siguientes elementos:
a. Una barra de mens. Llmala barraMenus.
b. Dentro de ella una opcin Archivo llamada menuArchivo.

Profesora: Zulma Anglica Argello Matas

Pgina 33

PROGRAMACION JAVA Sistema E-learning


c.

Dentro de la opcin Archivo, introduce los siguientes elementos:


i.
Una opcin Abrir, llamada menuAbrir.
ii.
Un separador (llmalo como quieras)
iii.
Una opcin Salir, llamada menuSalir.
3. Una vez hecho esto tu formulario tendr la siguiente forma:

4. Si ejecutas el programa el men se ver as:


5. Si observas el Inspector, tendr un aspecto parecido al siguiente:

6. Para que al pulsar la opcin Abrir de nuestro programa aparezca el dilogo de


apertura de ficheros, es necesario aadir a nuestro programa un objeto del tipo
JFileChooser.
Los objetos JFileChooser se aadirn el la zona de Otros Componentes del inspector.
7. Haz clic con el derecho sobre la zona de otros componentes y activa la opcin
Agregar desde Paleta Swing JFileChooser:

8. Aparecer entonces un objeto JFileChooser dentro de Otros Componentes. Aprovecha


para cambiarle el nombre a este objeto. Su nombre ser elegirFichero.
El inspector quedar as:

9. Una vez hecho esto, ya podemos programar la opcin Abrir del men. Activa el evento
actionPerformed de la opcin Abrir y programa dentro de l lo siguiente:

Profesora: Zulma Anglica Argello Matas

Pgina 34

PROGRAMACION JAVA Sistema E-learning

10. Ejecuta el cdigo y prueba la opcin Abrir del men. Prueba a elegir algn fichero y
abrirlo. Prueba a cancelar la ventana de apertura. Etc
11. Analicemos el cdigo anterior:
int resp;
resp=elegirFichero.showOpenDialog(this);
-

Estas dos lneas crean una variable entera resp (respuesta) y a continuacin hacen
que se muestre la ventana Abrir Fichero. Observa que para conseguirlo hay que usar
el mtodo showOpenDialog del objeto elegirFichero. Este mtodo lleva como
parmetro la ventana actual (this)
- El mtodo showOpenDialog no solo muestra la ventana Abrir Fichero sino que
tambin devuelve un valor entero segn el botn pulsado por el usuario en esta
ventana. Esto es: botn Abrir o botn Calcelar.
- Se pueden usar dos if para controlar lo que sucede si el usuario puls el botn Abrir o
el botn Calcelar de la ventana Abrir Fichero:
if (resp==JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null,elegirFichero.getSelectedFile().toString());
} else if (resp==JFileChooser.CANCEL_OPTION) {
JOptionPane.showMessageDialog(null,"Se puls la opcin Cancelar");
}
-

En el primer if se compara la variable resp con la constante


JFileChooser.APPROVE_OPTION, para saber si el usuario puls Abrir.
- En el segundo if se compara la variable resp con la constante
JFileChooser.CANCEL_OPTION, para saber si el usuario puls Calcelar.
- En el caso de que el usuario pulsara Abrir, el programa usa el mtodo getSelectedFile
del objeto elegirFichero para recoger el camino del fichero elegido. Este camino debe ser
convertido a cadena con el mtodo toString.
- El programa aprovecha esto para mostrar dicho camino en pantalla gracias al tpico
JOptionPane.
- En el caso del que el usuario pulsara el botn Cancelar el programa muestra un mensaje
indicndolo.
12. Hay que volver a dejar claro que el cuadro de dilogo Abrir realmente no abre ningn
fichero, sino que devuelve el camino del fichero elegido usando el cdigo:
elegirFichero.getSelectedFile().toString()
Luego queda en manos del programador el trabajar con el fichero correspondiente de la forma
que desee.

Profesora: Zulma Anglica Argello Matas

Pgina 35

PROGRAMACION JAVA Sistema E-learning

7.2 JColorChooser
La clase JColorChooser nos presenta una ventana de herramientas para la seleccin
de colores: la ventana es en realidad un JDialog que le brinda al usuario la posibilidad de
interactuar con las paletas de colores proporcionadas.

7.3 JToolBar
Barras de herramientas
Una barra de herramientas es bsicamente un contenedor de botones y otros
elementos propios de la ventana.
A travs de estos botones se pueden activar de forma rpida las opciones del
programa, las cuales suelen estar tambin incluidas dentro de la barra de mens.
Prctica 12: Ejercicio de JToolBar
1. Veamos como aadir una barra de herramientas a nuestras aplicaciones. En primer
lugar, crea un proyecto con el NetBeans.
2. Aade a tu ventana un objeto JmenuBar (una barra de mens)
3. En la parte superior de tu ventana aparecer esto:

4. Debajo de la barra de mens colocaremos una barra de herramientas, as que aade


un objeto del tipo JToolBar. Haz que la barra se coloque debajo de la barra de mens y
que alcance desde la parte izquierda de la ventana a la parte derecha.
La ventana quedar as:

5. Las barras de herramientas son simples contenedoras de objetos. Dentro de ellas se


pueden colocar botones, combos, etiquetas, etc.
Normalmente, las barras de herramientas contienen botones. As que aade cuatro
botones (JButton) dentro de la barra. Solo tienes que colocarlos dentro de ella.

Profesora: Zulma Anglica Argello Matas

Pgina 36

PROGRAMACION JAVA Sistema E-learning

6. Puedes ver si los botones estn bien colocados observando el Inspector:


Observa como los botones colocados se encuentran dentro de la barra.

7. Aprovecharemos el inspector para cambiar el nombre a la barra y a cada


botn. A la barra la llamaremos barraHerramientas, y a los botones los
llamaremos btnUno, btnDos, btnTres y btnCuatro:

8. Cambia el texto de los botones. Estos contendrn el texto: Uno, Dos, Tres
y Cuatro.
9. Ejecuta el programa y observa el resultado.

10. La forma de programar cada botn no vara, aunque estos se encuentren


dentro de la barra herramientas. Solo hay que seleccionar el botn y acceder a
su evento actionPerformed.
11. Solo como demostracin de esto ltimo, entra en el actionPerformed del primer
botn y programa esto:
JOptionPane.showMessageDialog(null,"Activaste el botn uno");

Luego ejecuta el programa y comprueba el funcionamiento del botn.


12. Los botones de la barra de herramientas normalmente no contienen texto, sino
que contienen un icono que representa la funcin que realiza. La forma de
colocar un icono dentro de un botn es a travs de su propiedad icon.
13. A travs de la propiedad icon de un botn podr seleccionar un fichero de
imagen que contenga la imagen a mostrar en el botn.
14. Activa la propiedad icon del primer botn. Luego elige la opcin Fichero y pulsa
el botn Seleccionar Fichero para buscar un fichero con imagen.
Nota: Busca un fichero de imagen que sea del tipo .gif o .jpg.
Nota: Procura que la imagen sea pequea.
Profesora: Zulma Anglica Argello Matas

Pgina 37

PROGRAMACION JAVA Sistema E-learning

Nota: Se recomienda buscar imgenes .gif en Internet para practicar.

15. Una vez colocadas las imgenes a los botones, se puede quitar el texto de
estos. Un ejemplo de cmo podra quedar la barra de herramientas es este:

Profesora: Zulma Anglica Argello Matas

Pgina 38

You might also like