Titulo de la entradaTitulo de la entrada

15_JAVA_JSCROLLPANE

JAVA: 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 podría contener una imagen tan grande que no se viera entera:
Los paneles de desplazamiento son objetos del tipo JScrollPane.

Ejercicio guiado 1

1. Vamos a practicar con los JScrollPane. Para ello, crea un nuevo proyecto.
2. Añade en el proyecto un JScrollPane.
3. Un JScrollPane, por sí mismo, no contiene nada. Es necesario añadir dentro de él el objeto que contendrá. Para nuestro ejemplo añadiremos dentro de él una etiqueta (JLabel)
4. El formulario debe tener ahora este aspecto:


5. Si observas el Inspector verás claramente la distribución de los objetos:

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 través de la propiedad icon. La imagen la introduciremos desde fichero, y elegiremos la siguiente imagen de tu disco duro:

Mis Documentos / Mis Imágenes / Imágenes de Muestra / Nenúfares.jpg

9. Esta imagen es tan grande que no se podrá ver entera dentro del panel de desplazamiento. Ejecuta el programa y observarás 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:



14_JAVA_FILECHOOSER

JAVA: FILECHOOSER
Cuadros de diálogo 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 información dentro de un fichero en alguna carpeta.
Java proporciona una clase llamada JFileChooser (elegir fichero) que permite mostrar la ventana típica de Abrir o Guardar:

Ventana Abrir fichero:


(La ventana de guardar es la misma, solo que muestra en su barra de título la palabra Guardar)
El objeto JFileChooser nos facilita la labor de elegir el fichero, pero no realiza la apertura o la acción de guardar la información en él. Esto tendrá que ser programado.



13_JAVA_MENUS_EMERGENTES

JAVA: MENUS EMERGENTES
El evento mouseClicked
El evento mouseClicked es capaz de capturar un clic del ratón sobre un determinado elemento de la ventana.
Este evento recibe como parámetro un objeto del tipo MouseEvent, y gracias a él se puede conseguir información como la siguiente:

- Qué botón del ratón fue pulsado.
- Cuantas veces (clic, doble clic, etc)
- En qué coordenadas fue pulsado el botón.
- Etc.

Se puede usar esta información para saber por ejemplo si se pulsó el botón derecho del ratón, y sacar en este caso un menú contextual en pantalla.
En este ejercicio guiado se estudiarán las posibilidades del evento mouseClicked y se aplicarán a la creación y visualización de menús contextuales (o emergentes)

Ejercicio guiado

1. Crea un nuevo proyecto.

2. No hace falta que añada nada a la ventana.

3. Programaremos la pulsación del ratón sobre el formulario, así que haga clic sobre el formulario y active el evento mouseClicked.

4. Observe el código del evento:

private void formMouseClicked(java.awt.event.MouseEvent evt) {                                 
// TODO add your handling code here:
       

    }  

Este evento recibe como parámetro un objeto llamado evt del tipo MouseEvent (en rojo en el código) que nos permite saber en qué condiciones se hizo clic.


5. Dentro del evento programe lo siguiente:

if (evt.getButton()==1) {
            JOptionPane.showMessageDialog(null,"Pulso el izquierdo");
} else if (evt.getButton()==2)  {
            JOptionPane.showMessageDialog(null,"Pulso el central");
} else if (evt.getButton()==3) {
            JOptionPane.showMessageDialog(null,"Pulso el derecho");

}

6. Ejecuta el programa y haz clic sobre el formulario con el botón derecho, con el izquierdo y con el central. Observa el resultado.
7. Ahora quizás puedas comprender el código anterior. En él, se usa el método getButton del objeto evt para saber qué botón se pulsó. El método getButton devuelve un entero que puede ser 1, 2 o 3 según el botón pulsado.
8. Se puede aprovechar el método getButton para controlar la pulsación del botón derecho del ratón y así sacar un menú contextual. Pero antes, es necesario crear el menú.
9. Agrega a tu formulario un objeto del tipo JPopupMenu. Estos objetos definen menús emergentes.
10. Los objetos JPopupMenu no se muestran en el formulario, pero puedes verlo en el Inspector dentro de la rama de Otros Componentes:



11. Aprovecharemos el inspector para cambiar el nombre al menú. Llámalo menuEmergente.
12. Los menús emergentes se crean igual que las opciones de menús normales, añadiendo con el botón derecho del ratón objetos JMenuItem.
13. Añada al menú emergente tres JMenuItem, y asígneles los siguientes nombres a cada uno: menuRojo, menuVerde, menuAzul. El inspector debería tener el siguiente aspecto:



14. Tienes que cambiar la propiedad text de cada opción del menú. Recuerda que esta propiedad define lo que aparece en el menú. Asignarás los siguientes textos: “Rojo”, “Verde” y “Azul”.
15. El menú emergente ya está construido. Ahora tenemos que hacer que aparezca cuando el usuario pulse el botón derecho del ratón sobre el formulario. Para ello, entraremos de nuevo en el evento mouseClicked del formulario y cambiaremos su código por el siguiente:

menuEmergente.show(this,evt.getX(),evt.getY());

16. Este código significa lo siguiente: