OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf ·...

17
Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL Swing Containers Los objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a otros objetos y facilitan el manejo de ciertos procesos dentro de una aplicación. En el entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: En el presente tema vamos a hacer uso de los objetos Jpanel y JScrollPanel. Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 1

Transcript of OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf ·...

Page 1: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

Swing ContainersLos objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a

otros objetos y facilitan el manejo de ciertos procesos dentro de una aplicación. En el

entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente:

En el presente tema vamos a hacer uso de los objetos Jpanel y JScrollPanel.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 1

Page 2: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

Objeto Contenedor JPanelEste componente lo que nos permite es Agrupar Otros Componentes dentro de él (algo

así como el Frame en Visual.net o el GroupBox de Power Builder).

Para empezar creamos un proyecto, una vez hecho este paso, vamos al panel del lado

derecho donde se encuentran los elementos Swing Containers y seleccionamos el

componente Panel (Jpanel), lo seleccionamos y soltamos en el Formulario.

Después de hacer esto soltamos y si hacemos click en otro lado del área del formulario

nótese que pareciera que el Panel no estuviera pero si esta pase el mouse por donde

colocó el Panel y ahí lo ubicará, pero no se alarmen si está.

Bien para no tener estos problemas vamos a darle un borde a nuestro JPanel, En la

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 2

Page 3: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

ventana de propiedades como se muestra en la imagen seleccionamos a la propiedad

Border.

Nos mostrará la siguiente imagen

Bien tendremos esto:

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 3

Click!

1. Seleccionar TitledBorder

2. Colocar en Title: Seleccione un Color

3. Click en Ok y Listo

Page 4: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

Propiedad más usada:● Border: Se establece el borde y el título si fuese necesario.

Método más usado:

● setEnabled(): Para habilitar o inhabilitar el uso del objeto.

Objeto Contenedor JScrollPanelUn objeto ScrollPanel permite ubicar dentro de ella uno o varios objetos que comúnmente

son objetos de control. Cuando se sobrepasa el espacio del objeto JScrollPanel, éste

muestra las barras de desplazamiento vertical y/o horizontal.

Por ejemplo, agregamos el JScrollPanel y dentro del mismo agregamos un JPanel para

poder utilizar los componentes libremente; no olvidarse de la propiedad Aboslute Layout

que nos permite colocar en cualquier posición otro componente dentro del Jpanel.

Haremos que cuando cargue el formulario cargue un texto dentro de un Frame

Si colocamos el siguiente código en el botón de comando Mostrar:

private void BtnMostrarActionPerformed(java.awt.event.ActionEvent evt) {lblTexto.setText(“Observa que el código de ejemplo selecciona el tamaño preferido del contenedor del panel desplazable. Una alternativa sería seleccionar el tamaño preferido

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 4

JPanel

JScrollPanel

BtnMostrar

BtnClear

Page 5: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

del propio panel desplazable. De cualquier modo, se está limitando el tamaño del panel desplazable. Esto es necesario porque el tamaño preferido de un panel desplazable es ser tan grande como pueda”);}

Para el botón de comando Limpiar colocamos:

private void btnLimpiar ActionPerformed(java.awt.event.ActionEvent evt) {lblTexto.setText(“”);}

Al ser ejecutado se debe mostrar el formulario como sigue.

AplicaciónConstruye una aplicación que permita ingresar el título de una película, seleccionar su

categoría que puede ser Comedia, acción, Dibujos animados o Drama. Además se debe

ingresar la duración en minutos de la película y el nombre del actor principal. Una vez

ingresado los datos se procede a agregar en un objeto JTable generando una fila de datos

y mostrando en un cuadro de texto el número de películas ingresadas.

Solución:1. Creamos un proyecto denominado Ejercicios.

Luego dar click en el botón de comando Finish (Terminar si el entorno de

NetBeans es en castellano).

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 5

Page 6: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

2. Estando en el entorno de NetBeans, seleccionamos el paquete ejercicios y dando

click botón derecho del mouse se muestra un menú flotante, donde seleccionamos

Formulario Jframe.

3. A continuación, colocaremos como nombre de formulario frmPeliculas.

Luego dar click en el botón de comando Finish (en caso de que la versión de

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 6

Page 7: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

NetBeans es en castellano entonces dar click en el botón de comando Terminar)

4. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en el

botón derecho del mouse sobre el formulario y establece AbsoluteLayout en

SetLayout.

5. Procedemos a colocar un objeto de control Jlabel con la expresión “PELICULA:” y

al lado derecho un cuadro de texto JTextField.

6. Colocamos un objeto contenedor JPanel por debajo de la expresión “PELICULA:”.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 7

Page 8: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

7. Procedemos a utilizar la ventana de propiedades del objeto Jpanel. No vamos a

usar la ficha de propiedades que se encuentra al lado derecho del diseño del

formulario, sino que seleccionamos al objeto JPanel y luego al dar click botón

derecho del mouse, seleccionamos la opción propiedades.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 8

Page 9: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

8. Seleccionamos la propiedad Border y damos click en el botón de comando

correspondiente a ésta propiedad.

9. A continuación, seleccionamos como borde disponible a TitledBorder.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 9

Page 10: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

10. En título colocamos “Categorías de Películas”.

11. Ahora procedemos a definir el borde (propiedad que se encuentra encima de

Título).

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 10

Page 11: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

12.Posteriormente, seleccionamos el tipo de Borde EtchedBorder.

13.Luego de dar click en el botón de comando OK, queda definido el Borde y el título.

14.Volvemos a dar click en el botón de comando OK y regresamos a la ventana de

propiedades del JPanel.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 11

Page 12: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

Cerrar ésta ventana usando el botón de comando Close (Cerrar).

15.El diseño del formulario queda así:

16.Ahora debemos hacer algo muy importante, que es establecer como

AbsoluteLayout al objeto JPanel para que permita colocar los objetos de control

con facilidad.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 12

Page 13: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

17.Colocamos cuatro objetos de tipo JRadioButton dentro del objeto Panel,

quedando el diseño del formulario así:

18.No olvidemos de crear un objeto ButtonGroup e indicar para cada objeto

JRadioButton en su propiedad ButtonGroup que pertenecen a ButtonGroup1.

19. Seguimos agregando los objetos de control según observamos en el diseño del

formulario. Esta vez vas a agregar un objeto JScrollPanel para colocar dentro de

ella a un objeto JTable.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 13

Page 14: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

20.A continuación colocamos un objeto JTable. Los nombres de los objetos de control

son tal como se aprecia en el siguiente diseño de formulario.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 14

Page 15: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

21.Vamos a proceder a programar. Comenzamos con hacer uso del paquete swing y

específicamente a las clases JOptionPane y a la clase JTable.

22.Luego procedemos a crear un modelo para el objeto JTable llamado Tabla a través

de la clase DefaultTableModel. Lo hacemos dentro de la clase frmNotas. Usar la

clase DefaultTableModel es posible gracias al import javax.swing.table.*;

Declaramos y creamos una variable de memoria dtm del tipo DefaultTableModel.

23.En el método constructor programamos lo siguiente (sólo escribe lo que se señala

la llave de color rojo):

Declaramos y creamos una variable de memoria titulos del tipo cadena y es un

arreglo. Esta variable titulos se inicializa con los valores “Título de la Película”,

”Categoría”, “Duración(min)” y “Actor Principal”, que serán los títulos de las

columnas del objeto JTable. Luego, con el método setColumnIdentifiers() se

define las columnas con sus respectivos títulos en la variable dtm (modelo del

JTable llamado Tabla). Se vincula el modelo, representado en la variable dtm, al

objeto JTable llamado Tabla. Inhabilitamos los objetos indicados en la

programación y damos el enfoque al botón de comando Nuevo.

24.Procedemos a programar en el botón de comando Nuevo (sólo escribe lo que se

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 15

Page 16: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

señala la llave de color rojo).

25.Procedemos a programar en el botón de comando Agregar (sólo escribe lo que se

señala la llave de color rojo).

Declaramos una variable de memoria llamada datos de tipo String y de tamaño 4.

También declaramos una variable entera llamada total. En el primer elemento del

arreglo datos (datos[0]) se asigna el valor ingresado en el cuadro de texto txtPel

(el título de la película). A continuación, se hace uso de sentencias selectivas IF

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 16

Page 17: OBJETOS CONTENEDORES JPANEL Y …files.uladech.edu.pe/.../Tema_8_Objetos_JPanel_JScrollPanel.pdf · entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente: ...

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

para evaluar cuál de los objetos JRadioButton ha sido seleccionado y según el

objeto seleccionado se asigna la categoría al segundo elemento del arreglo datos

(datos[1]). En el tercer elemento (datos[2]) y cuarto elemento (datos[3]) del arreglo

datos se asignan la duración y el actor principal respectivamente. Con el método

addRow(), agregamos una fila en el objeto Table con los datos contenidos en el

arreglo datos. Finalmente, en la variable total se asigna la cantidad de filas de

datos que tiene el objeto JTable haciendo uso del método getRowCount() de la

variable objeto dtm. Este último valor conseguido es visualizado en el cuadro de

texto txtTotal a través del método setText().

26.Luego, procedemos a programar en el botón de comando Eliminar (sólo escribe lo

que se señala la llave de color rojo).

Declaramos las variables fila y total de tipo entero. La variable fila se le asigna el

valor de la posición de la fila seleccionada en el objeto Jtable llamado Tabla. Con la

sentencia IF se evalúa a la variable fila si es mayor o igual a cero procedemos a

remover o borrar la fila previamente seleccionada, caso contrario se muestra un

mensaje indicando que se debe seleccionar una fila en la Tabla. Finalmente, se

muestra la cantidad de filas agregadas en el cuadro de texto txtTotal y haciendo

uso del método setRowCount() perteneciente a dtm.

27.Finalmente, programamos en el botón de comando Cerrar.

28.Procedemos a ejecutar el formulario.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 17